这是我的情况:我有一个游戏,它的比赛场地是一个 n * m 的矩形,我将场地每个单元格的信息保存在一个 txt 文件中非常方便(更准确地说,每 1 个文件 1 个文件)等级)。我在 Unity 上写,我把带有关卡的文件夹扔到 Assets 文件夹中。在编辑器中一切正常。不愉快的时刻是,当我编译游戏并简单地运行它(作为 .exe 文件)时,程序找不到关卡。问题是如何解决这个问题,或者如果没有这样的解决方案,建议替代解决方案。提前致谢!
这是我的情况:我有一个游戏,它的比赛场地是一个 n * m 的矩形,我将场地每个单元格的信息保存在一个 txt 文件中非常方便(更准确地说,每 1 个文件 1 个文件)等级)。我在 Unity 上写,我把带有关卡的文件夹扔到 Assets 文件夹中。在编辑器中一切正常。不愉快的时刻是,当我编译游戏并简单地运行它(作为 .exe 文件)时,程序找不到关卡。问题是如何解决这个问题,或者如果没有这样的解决方案,建议替代解决方案。提前致谢!
最有可能的问题是您将文本文件放在资源文件夹以外的文件夹中。
游戏中您要动态加载的所有资源都必须位于 Resources 文件夹中,否则只能在 Unity 编辑器中加载。
值得注意的是,您的项目可能有多个名为 Resources 的文件夹(在不同的项目目录中)。解决这个问题的方法是,在编译项目时,Unity 将所有 Resources 文件夹的所有内容收集到一个“虚拟”文件夹中。
加载资源本身时,您应该从 Resources 文件夹开始查找它,例如:如果您的 Level.txt 文件位于项目中的以下路径 -
Assets/GameData/Resources/Levels/Level.txt,那么您应该在游戏中使用Levels/Level.txt方法文档中的Resources.Load()更多详细信息,更多关于资源目录here