【发布时间】:2017-02-23 20:19:06
【问题描述】:
使用 Unity,我正在尝试将带有特定脚本的 GameObjects 添加到数组中。我尝试了很多不同的方法,最终我得到了这个,对于我的生活,我找不到它为什么给我这个错误,因为我在过去一小时谷歌搜索的所有内容都说它是主要来自语法,我找不到语法错误。我想知道使用 get/set 是否有意义,但我真的不明白它们与 for 循环有何不同。谢谢!
public class QuestFinderScript : MonoBehaviour {
GameObject[] objects;
public List<GameObject> interactables = new List<GameObject> ();
int interactablesSize;
void Start(){
interactables = new List<GameObject> ();
objects = GameObject.FindGameObjectsWithTag ("Untagged");
interactablesSize = objects.Length;
for (int i = 0; i < interactablesSize; i++) {
InteractionSettings iset = objects [i].GetComponent<InteractionSettings> ();
if (iset != null) {
interactables.Add [i];
}
}
}
}
【问题讨论】:
-
你呃...复习how you actually use
.Add()的语法了吗? -
嗯,是吗?这在其他代码中对我有用,所以我不确定问题是什么。当我使用括号时,它给了我同样的错误。
-
Add 是一个函数,因此你需要一个 ()。像这样的东西:
interactables.Add( iset.gameObject); -
完美,解决了我的问题。感谢您的帮助!