我想知道Unity如何在不使用资源管理器的情况下移动精灵

问题描述

Unity试图检索存储在资源文件夹以外的文件夹中的图像。 我不知道该怎么办,因为它不包含在资源文件夹中,所以我无法将其称为资源管理器。

解决方法

您当然不能,因为在构建过程中Unity将切断Resources外部的文件。即使您可以使用相对文件路径在编辑器中访问文件,该文件也将在构建后消失,这将导致FileNotFoundException或类似内容。简而言之,Resources是一个由unity识别的特殊文件夹名称,用于指示在构建过程中应包含哪些文件。

我认为管理资源有三种选择:

  • 使用Resources文件夹

这是非常简单,简单和古老的方式。我认为这种方法已经过时了,但是它仍然是一个有效的选择,对Unity新手来说很不错。

Unity将以自己的方式处理您的资源文件,这将优化保存或管理性能。如果您尚未尝试过此操作,则可能必须阅读有关AssetBundle的教程。

  • 使用StreamingAssets文件夹

StreamingAssets还是Unity的特殊文件夹名称。即使在构建后,该文件夹中的任何文件也将保留,这意味着您可以使用常规的System.IO文件系统。例如,Path.Combine(Application.streamingAssetsPath,"myimage.png")获取图像的路径。这使您的游戏不仅可以为您自己,而且还可以为其他玩家进行高度修改,这意味着该游戏非常适合制作 mod

顺便说一句,还有一个名为Addressable的选项,但是由于它是一个非常新的功能,所以我对此并不了解很多:(