C# 构建iOS Unity时出现文件路径问题
我的项目中有一堆JSON文件,用于加载级别。然而,我不确定在哪里找到他们的道路。它们位于我的项目中的资产/资源/级别数据中 我尝试了C# 构建iOS Unity时出现文件路径问题,c#,ios,json,unity3d,path,C#,Ios,Json,Unity3d,Path,我的项目中有一堆JSON文件,用于加载级别。然而,我不确定在哪里找到他们的道路。它们位于我的项目中的资产/资源/级别数据中 我尝试了Application.dataPath+“Assets/Resources/LevelsData/”,但似乎没有出现。有人能告诉我在哪里可以使用Application.dataPath找到它吗?比如,在调用Application.dataPath之后,我要添加什么才能进入资产文件夹?或者,当我在iOS上运行项目时,项目的文件树是否会更改?为您提供了“/Assets
Application.dataPath+“Assets/Resources/LevelsData/”
,但似乎没有出现。有人能告诉我在哪里可以使用Application.dataPath找到它吗?比如,在调用Application.dataPath之后,我要添加什么才能进入资产文件夹?或者,当我在iOS上运行项目时,项目的文件树是否会更改?为您提供了“/Assets”,因此您必须使用
Application.dataPath + "/Resources/LevelsData/"
编辑 对于IOS,它在文档页面上显示: iOS player://数据(此 文件夹为只读,请使用Application.persistentDataPath保存数据)
如果文件放在Resources文件夹中,则不能使用
Application.dataPath+“/Assets/Resources/LevelsData/
。这是因为Unity将文件编码为二进制格式并将其重命名。必须使用资源读取Resources文件夹中的文件。加载
您需要资源。加载和文本资源
支持的TextAsset
格式:
.txt
.html
.htm
.xml
.字节
.json
.csv
亚姆先生
.fnt
现在,让我们阅读一个名为JsnFile1.json
的json文件,该文件位于Assets/Resources/LevelsData/
中
void Start()
{
string jsonFileDir = "LevelsData/JsnFile1";
TextAsset jsonFile = Resources.Load(jsonFileDir, typeof(TextAsset)) as TextAsset;
Debug.Log(jsonFile.text);
}
void Start()
{
string objDirFileDir = "LevelsData/Bullet";
GameObject jsonFile = Resources.Load(objDirFileDir, typeof(GameObject)) as GameObject;
Debug.Log(jsonFile.name);
}
请注意,您没有将文件扩展名放在Resources.Load
函数中。如果这样做,它将失败
让我们在Assets/Resources/LevelsData/
中加载一个名为Bullet的游戏对象预置
void Start()
{
string jsonFileDir = "LevelsData/JsnFile1";
TextAsset jsonFile = Resources.Load(jsonFileDir, typeof(TextAsset)) as TextAsset;
Debug.Log(jsonFile.text);
}
void Start()
{
string objDirFileDir = "LevelsData/Bullet";
GameObject jsonFile = Resources.Load(objDirFileDir, typeof(GameObject)) as GameObject;
Debug.Log(jsonFile.name);
}
不起作用。很明显,它只会给你更多的财富“在编辑器中。检查我在答案中链接的文档页面。我已经读过了,但我不清楚。非常感谢。资源文件夹是我创建的。您的解决方案是否取决于相应文件的位置?如果是这样的话,我宁愿把它们放在别的地方,然后用我目前的加载方式。更新:我试过把这些文件移到另一个文件夹,不是吗work@MihaiStan否和否。您的文件必须位于Assets/Resources/LevelsData
目录中才能工作。我从来没说过你应该移动它们。将它们放回问题所在的位置,只需将JsnFile1
替换为其中一个文件的名称即可。不要输入扩展名。这在发布之前已经过测试,应该可以正常工作。它们都应该放在Assets/Resources/LevelsData
编辑器中是否也可以?因为它不起作用。我测试了它,它又工作了。很高兴你让它工作了。你做错了什么?