快速提问:
我在团结c#中编写,并且有一个包含同一对象的多个实例的数组。我想在数组的每个成员中更改非静态 bool
,并将其设置为true
。我该怎么做?
我玩过 for-loops ,并在这里和团结论坛上搜索,但找不到答案。我不相信我的杂乱,错误的代码会有任何帮助。有人关心开导我吗? :)
编辑:感谢您的提示,现在就试试吧。代码被要求,原谅一塌糊涂:
Component[] toMerge;
for (int t = 0; t < mergeTargets.Length; i++) {
toMerge[t] = mergeTargets[t].gameObject.GetComponent<Enemy>();
toMerge.readyToMerge = true;
}
for (int t = 0; t < toMerge.Length; t++) {
toMerge[t].readyToMerge = true;
}
答案 0 :(得分:1)
您必须在mergeTargets.Length
数组中分配 toMerge
个项目并且不是数组而是地址:
//DONE: We need mergeTargets.Length items in toMerge
Component[] toMerge = new Component[mergeTargets.Length];
for (int t = 0; t < mergeTargets.Length; i++) {
toMerge[t] = mergeTargets[t].gameObject.GetComponent<Enemy>();
//DONE: [t] - we want to change item, not the array
toMerge[t].readyToMerge = true;
}