使用Application.persistentDataPath将Assetbundle缓存到本地

来源:互联网 发布:淘宝购物车打不开 编辑:程序博客网 时间:2024/06/05 22:34
    IEnumerator loadAndSaveAsset(string url)    //下载网络模型并缓存到本地      {        WWW w = new WWW(url);        yield return w;        if (w.isDone)        {            byte[] model = w.bytes;            int length = model.Length;            //文件流信息              //StreamWriter sw;              Stream sw;            FileInfo t = new FileInfo(Application.persistentDataPath + "//" + "Model.assetbundle");            if (!t.Exists)            {                //如果此文件不存在则创建                  sw = t.Create();            }            else            {                //如果此文件存在则打开                  sw = t.OpenWrite();              }            sw.Write(model, 0, length);            //关闭流              sw.Close();            //销毁流              sw.Dispose();        }    }

从本地读取模型文件:

    //读取本地的模型文件      IEnumerator LoadModelFromLocal()    {        string s = null;        #if UNITY_ANDROID          s = "jar:file://" + Application.persistentDataPath + "/" + "Model.assetbundle";        #elif UNITY_IPHONE            s = path+"/"+name;          #elif UNITY_STANDALONE_WIN || UNITY_EDITOR            s = "file://"+path+"/"+name;          #endif          WWW w = new WWW(s);          yield return w;          if (w.isDone)          {             Instantiate(w.assetBundle.mainAsset);          }     }


删除文件

   void DeleteFile(string path, string name)    {        File.Delete(path + "//" + name);    }


FR:海涛高软(hunk Xu)

原创粉丝点击