Android平台下的StreamingAsset路径

您所在的位置:网站首页 安卓手机如何打开assets文件夹 Android平台下的StreamingAsset路径

Android平台下的StreamingAsset路径

2024-07-11 09:17| 来源: 网络整理| 查看: 265

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