无法重新打开脚本
本文关键字:脚本 新打开 | 更新日期: 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
,并在isEnabled
为true
时执行所需操作。
如果您的脚本只是根据输入进行操作,那么启用和禁用脚本无论如何都不是一个好主意。相反,从输入控制器调用一个方法来执行。。。