Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
关于创建文件与下载
早茶月光发起了问答2017-08-30
4
回复
664
浏览

请问:

当我下载了图片到本地时,不能直接 通过路径去加载图片,显示要加载的图片对象为空。只有结束程序,然后等待它导入完成,才能执行上述操作

文件也是这样,文件创建了不能立刻用,必须要结束程序,等它进行导入,才能 用

请问这是为什么呢?为什么不能在程序运行时创建文件,并且在创建成功后调用它,图片下载也是这样

所有回复
  • siki 2017-08-30

    你这里下载图片到本地后,是怎么使用的呢

    看看代码

    • 早茶月光 2017-08-31

      //图片的下载路径
      #if UNITY_EDITOR
      mInforUrl = Application.dataPath + "Resources/ItemTxt.txt";
      mDownloadPath = Application.dataPath + "/Resources/DownLoad";
      #elif UNITY_ANDROID && !UNITY_EDITOR
      mInforUrl = Application.persistentDataPath+"//ItemTxt.txt";
      mDownloadPath = Application.persistentDataPath+"//Download";
      #endif

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
  • 早茶月光 2017-08-31

    //通过WebClient异步下载图片

        public void DownLoad(Callback _call)
        {
            StartCoroutine(Dt(url, filePath, _call));
            for (int i = 0; i < url.Count; i++)
            {
                            WebClient _web = new WebClient();
                            AsyncCompletedEventHandler _callBack = delegate (object sender, AsyncCompletedEventArgs args)
                            {
                                sum--;
                                if (sum<=0)
                                {
                                    Debug.Log("下载完成" + sum);
                                    _call();
                                }
                            };
                            _web.DownloadFileCompleted += _callBack;
                            Uri _uri = new Uri(url[i]);
                            _web.DownloadFileAsync(_uri,filePath[i]);
                            //_web.DownloadFile(url[i], filePath[i]   
            }
        }

    //然后使用下载的图片

        public virtual void OnClickSelf(int _id)
        {
            Texture2D _texture = Resources.Load<Texture2D>("DownLoad/Texture/" + _id);
            Sprite _sprite  = Sprite.Create(_texture,new Rect(0,0,_texture.width,_texture.height),new Vector2(0.5f,0.5f));
            ItemInfos.Instance.ShowInfo(_sprite,item.name,ItemManager.Instance.mOwnerItems[_id].ToString(),item.desc,"666");
        }

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-08-31

    你动态下载的资源是不能通过Resources加载的,只有通过unity添加到resource的资源才可以通过Resources加载

    你这里使用www来加载下载的资源

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!