无法弄清楚如何在 Unity C# 中进行 While 循环

Dat*_*key 2 c# unity-game-engine

我正在尝试在Unity中制作2D射击游戏,到目前为止我已经制作了一个射击系统,但是当我尝试使枪全自动时,我不起作用,请帮忙,我只在Unity中做过1.5几年了,所以我仍然很新,我只是不明白为什么它不起作用。代码:

 private void Start()
{
    while (Input.GetButton("Fire1"))
    {
        Shoot();
        StartCoroutine(Delay());
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Gee*_*tin 8

你不需要 while 循环,在Start()方法中也是如此。输入事件在方法中捕获Update(),该方法每帧运行。

参考: https: //docs.unity3d.com/ScriptReference/Input.GetButton.html

private void Update()
{
    if (Input.GetButton("Fire1"))
    {
        Shoot();
        Startcoroutine(Delay());
    }
}
Run Code Online (Sandbox Code Playgroud)