【问题标题】:Issue with file path when building for iOS Unity为 iOS Unity 构建文件路径时出现问题
【发布时间】:2023-03-29 01:35:02
【问题描述】:

我的项目中有一堆 JSON 文件用于加载关卡。但是,我不确定在哪里可以找到他们的路径。它们位于我项目的 Assets/Resources/LevelsData 中。

我试过Application.dataPath + "Assets/Resources/LevelsData/",但似乎没有出现。谁能告诉我在哪里可以使用 Application.dataPath 找到它?就像,在调用 Application.dataPath 之后,我要添加什么才能进入 assets 文件夹?或者当我在 iOS 上运行时,项目的文件树会发生变化吗?

【问题讨论】:

    标签: c# ios json unity3d path


    【解决方案1】:

    不能使用Application.dataPath + "/Assets/Resources/LevelsData/如果文件放在 Resources 文件夹中。这是因为 Unity 将文件编码为二进制形式并重命名它们。 Resources 文件夹中的文件必须使用Resources.Load 读取。

    您需要Resources.LoadTextAsset

    支持的TextAsset 格式:

    .txt .html .htm .xml .bytes .json .csv .yaml .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);
    }
    

    请注意,您不要将文件的扩展名放在Resources.Load 函数中。如果你这样做,它会失败。

    让我们在Assets/Resources/LevelsData/ 中加载一个名为 Bullet 的 GameObject 预制件。

    void Start()
    {
        string objDirFileDir = "LevelsData/Bullet";
        GameObject jsonFile = Resources.Load(objDirFileDir, typeof(GameObject)) as GameObject;
        Debug.Log(jsonFile.name);
    }
    

    【讨论】:

    • 资源文件夹是我创建的。您的解决方案是否取决于相应文件的位置?如果是这种情况,我宁愿将它们放在其他地方并使用我当前的加载形式。
    • 更新:尝试将上述文件移动到另一个文件夹,没有成功
    • @MihaiStan 没有也没有。您的文件必须在Assets/Resources/LevelsData 目录中才能工作。我从来没有说过你应该移动它们。将它们放回您的问题所在的位置,只需将 JsnFile1 替换为您的一个文件的名称即可。不要放扩展名。这在发布之前已经过测试,应该可以工作。它们都应该放在Assets/Resources/LevelsData
    • 这也应该在编辑器中工作吗?因为它没有
    • 好的。我测试了它,它再次工作。真高兴你做到了。你做错了什么?
    【解决方案2】:

    Application.DataPath 给你“/Assets”所以你必须使用

    Application.dataPath + "/Resources/LevelsData/"
    

    编辑

    对于 IOS,它在文档页面上这样说:

    iOS播放器://数据(这个 文件夹是只读的,使用 Application.persistentDataPath 保存数据)。

    【讨论】:

    • 不起作用。显然,它只在编辑器中为您提供“/Assets”。
    • 检查我在回答中链接的文档页面。
    • 我已经读过了,但我不清楚。还是谢谢你
    猜你喜欢
    • 2019-09-12
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    相关资源
    最近更新 更多