2016-01-03 249 views
0

在使用C#的Unity 3D中可以创建一个从文件夹而不是从精灵表中随机加载精灵的数组吗?如果是,我用什么代码来引用文件夹?从我所能找到的,精灵通常被编码为使用精灵表使用random.range与数组加载,而不是实际访问文件夹。即使与此类似,我已经能够找到的唯一的事情是在这里:Unity 3D:从文件夹加载精灵

http://docs.unity3d.com/ScriptReference/Resources.html

但你可以用这个你只能从标题为“资源”文件夹中的“资产”装入文件夹中看到,可能我错了,但这似乎也只能用游戏对象完成。 (?)

+0

更具体一点,你应该看看['Resouces.Load'](http://docs.unity3d.com/ScriptReference/Resources.Load.html)。您可以从Unity项目中的*任何*资源文件夹加载名为'Resources'的资源文件夹。如果你想在游戏运行时从某个任意位置加载这是另一回事 - 请查看[从磁盘上的png/jpg文件加载纹理文件](http://answers.unity3d.com/questions/432655/loading- text-on-disk.html)上的Unity答案。 (无论哪种方式,我认为你应该编辑清晰的问题!) – 31eee384

+0

谢谢大家!我得到它与这个: Sprite [] enemySprites = Resources.LoadAll (“Sprites/Enemies”); – Veniversum

+0

@Veniversum你可以在下面添加一个答案来回答你自己的问题。这使得其他人更容易找到您的解决方案。 – user3071284

回答

2

您正在查看正确的文档。

一个精灵是一个游戏对象,只是一个更具体的游戏对象,用于2D游戏。所以你会创建你的精灵并对它们进行预制。这些组合屋走在资源文件夹,这里是代码:

GameObject [] objs = (GameObject[])Resources.LoadAll("SpriteFolder"); 
GameObject randomSprite = objs[Random.Range(0, objs.Length)]; 
0

这里是我最终使用:

雪碧[] enemySprites = Resources.LoadAll(“精灵/公敌”);