使用C#构建Unity3D程序我是Unity和C#的新手。
这是代码,
void Update() {
//do something with bool unit and eventually it gets to true
if (Input.GetKeyDown (KeyCode.A)) {
if (coRunning == true) {
StopCoroutine ("Coroutine");
coRunning = false;
}
StartCoroutine ("Coroutine");
}
}
public IEnumerator Coroutine() {
coRunning = true;
while (!unit) {
yield return null;
}
GetComponent<Rigidbody> ().transform.Rotate (0, 90, 0);
coRunning = false;
}
当&#39; A&#39;按下,它应该等到bool&#39; unit&#39;在将身体旋转90度之前是正确的。如果单位在另一个&#39; A&#39;之前没有成立。按下,原始的Coroutine应该停止,新的应该开始。
然而,当我按下A&#39;两次,当单位变为真时,身体旋转180度。对这个问题有任何帮助吗?
提前致谢,