我对这两者之间的某些概念有疑问。对于Application.streamingAssetsPath,我应该在项目中创建一个StreamingAssets文件夹,以便可以将文件保存到该文件夹中,然后在以后重新加载它。Application.persistentDataPath的作用是什么和Application.streamingAssetsPath的作用?
如果我要保存资产和数据(位置,健康状况等),然后再将它们重新加载到移动设备(Android和IOS)和PC中,哪个是最好的选择?
下面,我使用Application.streamingAssetsPath保存
using (FileStream fs = new FileStream(Application.streamingAssetsPath + "/Position.json", FileMode.Create))
{
BinaryWriter filewriter = new BinaryWriter(fs);
filewriter.Write(JsonString);
fs.Close();
}
答案 0 :(得分:1)
通常,将Application.persistentDataPath
用于在构建期间不可用的数据,这些数据将在分发后进行修改(并且永远不应通过游戏更新进行修改),对于数据需要使用Application.streamingAssetsPath
您希望在游戏期间可以使用IO系统读取的版本之前存在(并且可能会在游戏更新中进行修改)。例如,玩家保存的数据可能应该放在Application.persistentDataPath
中,而对话文件可能应该放在Application.streamingAssetsPath
中。
最大的技术差异在于,通常Application.persistentDataPath
可以保存在与游戏数据不同的位置,因此,卸载或更新游戏不会导致玩家丢失其数据。大部分差异是在意图上的,因为Application.persistentDataPath
用于保存游戏运行之间的数据,而Application.streamingAssetsPath
旨在允许开发人员拥有可以通过路径名访问的游戏文件。 / p>
如果要存储要跟踪的角色的当前位置,当前健康状况和当前状态,则需要Application.persistentDataPath
。如果要存储用于初始化的字符的起始位置,最大健康状况和其他统计数据,则Application.streamingAssetsPath
是一个更好的选择。