c# - 如何一次将预制件添加到列表中

标签 c# list unity3d

example prefabs 我在 Assets 中有很多预制件(不在层次结构中)。我想随机实例化一个预制件。但是如何添加预制列表或数组一次。这意味着我有一个 600 预制件和

List<GameObject> example= new List<Gameobject>();
exapmle.add(...);
exapmle.add(...);
exapmle.add(...);
exapmle.add(...);
...

如何让它变得简单?

最佳答案

如果我没看错的话,听起来您想将许多预制件加载到一个大列表中,而不必单独加载每个预制件。如果是这种情况,您可以使用以下方法:

public GameObject[] allPrefabs;

void Start()
{
    allPrefabs = Resources.LoadAll<GameObject>("Prefabs");
}

如果你真的想把它们放在一个列表中,而不是一个数组中,你可以用下面的方法把这个数组转换成一个列表:

List<GameObject> example = new List<GameObject>(allPrefabs);

如果您有很多预制件,这可能会很慢。

注意:为了使用Resources.LoadAll<GameObject>("Prefabs") ,您需要在“Assets”文件夹中名为“Resources”的文件夹中有一个名为“Prefabs”的文件夹。

关于c# - 如何一次将预制件添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33509721/

相关文章:

unity3d - 实现 Kinect 和 Unity 3D 集成的概述

c# - 变焦相机 FOV 超时

c# - 没有异常风险的通用类型转换

c# - 我如何指定/调试 :embedded from csproj?

python - 将字典列表中的单引号更改为双引号

python - 在 Python 中使用组合数学列出 4 位密码

c# - 设置机器时间C#

c# - 如何解释此堆栈跟踪

Java:添加到列表的列表

c# - 从构造函数调用时静态函数意外返回