Android平台下的StreamingAsset路径 |
您所在的位置:网站首页 › 安卓手机如何打开assets文件夹 › Android平台下的StreamingAsset路径 |
Android平台下的StreamingAsset路径
这两天给一个游戏做移植的时候,踩了一个巨大的坑(准确的说是被源码坑了):Android平台下不要通过FILE访问StreamAsset! 游戏刷不出小怪,找了两三天才发现是小怪的配置文件没加载成功。 首先,Unity下常用的路径大概有四个: dataPath persistentDataPath streamingAssetsPath temporaryCachePath 具体在各个操作系统下对应的路径大家可以具体到unity文档中查。 首先,这四个路径全部为只读,意思是其内容不会因为游戏更新而改变,因此常用于存放持久数据。比如玩家的游戏存档就可以放在persistentDataPath下(单机游戏)。 对于StreamingAssetPath,无法用C#的File方式在WebGL和Android平台下访问此文件夹。如果想在这两个平台下访问,应当使用UnityWebRequest类(或使用WWW类,但UnityWebRequest正是unity平台下WWW类的升级版,因此建议使用UnityWebRequest)。 使用方法如下: #if UNITY_ANDROID UnityWebRequest webRequest = UnityWebRequest.Get(filePath); webRequest.SendWebRequest(); if (webRequest.error == null) { while (!webRequest.downloadHandler.isDone){} x = webRequest.downloadHandler.text; } else { Debug.LogError("Cannot open file: " + filePath); return; } #else上面是用阻塞方式读取。较大文件的加载应当使用协程: #if UNITY_ANDROID UnityWebRequest webRequest = UnityWebRequest.Get(filePath); yield return webRequest.SendWebRequest(); if(www.isNetworkError || www.isHttpError) { //exception处理 } else{ x = webRequest.downloadHandler.text; } #else其中,上面的filepath建议使用System.Uri类进行构造。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |