Unity由于脚本而冻结,但我不知道上述脚本出了什么问题

时间:2018-09-29 01:19:49

标签: visual-studio unity3d c#-4.0

与我同在,我是团结的新手。 顾名思义,将脚本附加到主摄像头后,游戏引擎就会冻结。

public class leftright : MonoBehaviour {
    public float boundaries = 3f;

    void Update () {
        while (Input.GetAxis("Mouse X") < boundaries && Input.GetAxis ("Mouse X") > -boundaries) {
            this.transform.Rotate(0, Input.GetAxis("Mouse X"), 0);
        }
    }
}

我认为此脚本不会造成无限循环,并且我无法检测到任何问题。

日志文本为here, ,项目为here

1 个答案:

答案 0 :(得分:2)

While(true) {
    //do stuff
}

根据循环的内容,您在while语句中使用的条件不能(也不会)从true更改为false,因此它将永远运行

Update()已经 一个循环,将其视为一个循环。

void Update () {
    if(Input.GetAxis("Mouse X") < boundaries && Input.GetAxis ("Mouse X") > -boundaries) {
        this.transform.Rotate(0, Input.GetAxis("Mouse X"), 0);
    }
}