2015-11-03 36 views
2

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

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

我如何使它简单?

回答

1

如果我正确地阅读它,那听起来好像要将许多预制件加载到一个大型列表中,而不必单独加载每个预制件。如果是这样的话,你可以使用以下命令:

public GameObject[] allPrefabs; 

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

如果你真的想他们在一个列表,而不是一个数组,你可以将此数组转换到一个列表具有以下:

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

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

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

+0

在我的问题有一张图片“示例预制件”请看这是我的资产文件夹。如果我理解正确,我写 allPrefabs = Resources.LoadAll (“Sorular”); 是真的吗? – Nurullah

+0

@Nurullah在统一中,任何以“Resources.”开头的内容都会专门在“Assets”文件夹中查找名为“Resources”的文件夹。所以你需要把你的“Sorular”文件夹放在一个名为“Resources”的新文件夹中。 **然后**你可以做'allPrefabs = Resources.LoadAll (“Sorular”)' – bpgeck

+1

我明白它的作品谢谢! – Nurullah

相关问题