你好我试图在找到某个对象时使这个循环计数然后一旦找到所有3它执行最后一行。但是,当我运行代码时,游戏无法启动。我假设这是因为一旦它找不到一个对象就会计算3次。所以我认为解决这个问题的最好方法是在if语句之前重置y循环,然后检查计数。我不确定如何解决这个问题。任何关于我如何实现这一点的想法。任何帮助都会非常感激。
void Start() {
y = 0;
StartCoroutine(checkTurrets());
}
IEnumerator checkTurrets() {
while (true) {
y = 0;
if (GameObject.Find("right") != null) {} else {
y++;
}
y = 0;
if (GameObject.Find("left") != null) {} else {
y++;
}
y = 0;
if (GameObject.Find("bottom") != null) {} else {
y++;
}
if (y == 3) {
y++;
SphereCollider sc = gameObject.AddComponent(typeof (SphereCollider)) as SphereCollider;
}
}
}
答案 0 :(得分:4)
试试这个
IEnumerator checkTurrets() {
while (true) {
if (GameObject.Find("right") != null && GameObject.Find("left") != null && GameObject.Find("bottom") != null)
{
SphereCollider sc = gameObject.AddComponent(typeof (SphereCollider)) as SphereCollider;
}
}
}
我假设您要在找到所有三个对象时执行该语句。