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

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

关于创建文件与下载
早茶月光发起了问答2017-08-30
4
回复
746
浏览

请问:

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

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

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

所有回复
  • 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条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!