无法重新打开脚本

本文关键字:脚本 新打开 | 更新日期: 2023-09-27 18:30:12

我遇到了一个问题。当(Input.GetMouseButtonUp (0)Speedy脚本被禁用时,我们无法从脚本内部再次启用它,如下所示。我们怎么能绕过这个?

public class  Speedy : MonoBehaviour {
GameObject car;
 if (speed == good)
    {
        GameObject car = GameObject.FindWithTag ("Car");
        if (Input.GetMouseButtonUp (0)) 
        {
            car.GetComponent<Speedy>().enabled = false;
        }
        else car.GetComponent<Speedy>().enabled = true;
    }
}

无法重新打开脚本

禁用时,脚本将不再运行,因此您无法再次从同一脚本启用它(当然,您可以创建一个后台线程来保持它的运行,这将是一个糟糕的解决方案)。

创建一个名为SpeedyEnabler的单独脚本,在鼠标单击时启用Speedy脚本,并将其添加到GameObject中。

或者,在Speedy中声明字段isEnabled,用isEnabled替换this.enabled,并在isEnabledtrue时执行所需操作。

如果您的脚本只是根据输入进行操作,那么启用和禁用脚本无论如何都不是一个好主意。相反,从输入控制器调用一个方法来执行。。。