Unity3d从Textures文件夹加载精灵

fil*_*pst 4 sprite unity-game-engine unityscript

我有大约200小精灵(JPG图片)Assets>Textures>Pictures,我也GameObject<SpriteRenderer>.有没有办法让我GameObject在代码中从该文件夹加载sprite ?就像是Resources.Load<Sprite>("path");

谢谢.

Ste*_*ann 5

好吧,解决方案 Resources.Load<Sprite>("path")针对单个精灵,或者Resources.LoadAll<Sprite>("path")如果您想一次加载它们。

为了使用这些方法,您需要将精灵移动到名为“Resources”的子目录中,例如Assets/Textures/Pictures/Resources.

脚本参考中更详细地解释了这一点以及有关采用这种方式的后果的更多信息:

可以通过 Resources.Load 函数访问 Assets 文件夹中任何位置名为“Resources”的文件夹中的所有资源。可能存在多个“资源”文件夹,并且在加载对象时将检查每个文件夹。

在 Unity 中,您通常不使用路径名来访问资源,而是通过声明成员变量来公开对资源的引用,然后在检查器中分配它。使用此技术时,Unity 可以自动计算在构建播放器时使用哪些资源。这从根本上将玩家的规模最小化为您在构建的游戏中实际使用的资产。当您将资源放入“资源”文件夹中时,这是无法完成的,因此“资源”文件夹中的所有资源都将包含在构建中。


Fun*_*onR 5

将您的文件夹放在Resources文件夹中.像这样:Assets/Textures/Resources/

然后你可以这样做:

private Object[] textures;

void Awake()
{
    textures = Resources.LoadAll("Path");
}
Run Code Online (Sandbox Code Playgroud)

你必须将它们存储为Objects.但是,如果您想稍后使用它们,您可以执行类似的操作.

texture = textures[i] as Texture;
Run Code Online (Sandbox Code Playgroud)