安装时将Resources / StreamingAssets中的文件复制到Application.persistentDataPath
我有txt
文件,其中包含我在游戏中的地图数据。 问题是文件存储在Application.persistentDataPath
所以我甚至可以从我的android设备(创建的地图创建者)更改它,那么如何在我的PC上创建包含基本地图的txt文件并使其显示在我的android上的persistentDataPath
我安装应用程序时的设备?
您可以将文件放在Editor文件夹中的Resources文件夹中,然后使用Resources API读取。
TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset)); string tileFile = txtAsset.text;
您可以检查这是否是第一次使用此应用程序运行。 之后,您可以将加载的数据复制到Application.persistentDataPath
目录。
已知Resources文件夹会增加加载时间。 我建议你不要使用它,但这是一个值得了解的选择。
将文件放在StreamingAssets文件夹中,然后使用WWW
或UnityWebRequest
API和Application.streamingAssetsPath
作为路径读取它,然后将其复制到Application.persistentDataPath
。
从StreamingAssets加载 :
IEnumerator ReadFromStreamingAssets() { string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile"); string result = ""; if (filePath.Contains("://") || filePath.Contains(":///")) { UnityEngine.Networking.UnityWebRequest www = UnityEngine.Networking.UnityWebRequest.Get(filePath); yield return www.SendWebRequest(); result = www.downloadHandler.text; } else result = System.IO.File.ReadAllText(filePath); }
然后将其保存到persistentDataPath:
File.WriteAllText(Application.persistentDataPath + "data/MyFile.txt", result);
您可以将此文件存储在Resources文件夹中,并在第一次启动Application.persistentDataPath
时将其复制到Application.persistentDataPath
。 或者在首次启动时从Resources读取文件,并在Application.persistentDataPath
创建具有相同内容的文件。