c# - 统一3D : Load sprites from a folder

标签 c# arrays unity-game-engine sprite-sheet

是否可以在 Unity 3D 中使用 C# 创建一个数组来从文件夹而不是从 Sprite 表中随机加载 Sprite ?如果是,我应该使用什么代码来引用该文件夹?据我所知, Sprite 通常被编码为使用 random.range 和使用 Sprite 表的数组来加载,而不是实际访问文件夹。我能找到的唯一与此类似的东西是在这里:

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

但正如您所看到的,您只能从“ Assets ”文件夹中名为“资源”的文件夹加载,可能我错了,但这似乎只能通过游戏对象来完成。 (?)

最佳答案

您正在查看正确的文档。

Sprite 是一种游戏对象,只是一种更具体的用于 2d 游戏的对象。因此,您可以创建 Sprite 并制作它们的预制件。这些预制件位于 Resources 文件夹中,代码如下:

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

关于c# - 统一3D : Load sprites from a folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34579823/

相关文章:

c# - 字符转换为位图图像 C#

javascript - 检查数组中的所有元素是否都是字符串

c# - Unity3d 后台实时计数器

c# - 销毁对象并在原始对象位置替换为预制件?

c# - 启用 Animator 会导致闪烁吗?

c# - C#套接字未发送完整的数据

c# - MVC3 输入相关验证

c# - MVC Razor 路由建议

c# - Ninject 内核绑定(bind)覆盖

python - 高效创建具有重复结构的 NumPy 数组