Unity C#从同一个GameObject上的另一个脚本中获取变量



所以我得到了默认的FPSController作为我的GameObject。

我添加了一个名为Controller的脚本,其中包含一个称为holding的bool,它允许我拾取一个对象。现在,我想在FirstPersonController脚本中添加一个if语句,如果hold为true,则无法在其中运行。因此,我需要在我的FPScontroller脚本中保留bool。

我尝试了不同的方法来做这件事,但每次我都用.GetComponent<Controller>

我收到一个错误,说找不到控制器。

Controller中的冲突是公共的,也是布尔持有的。它们都在同一个对象上。

似乎一切都很好。

当您在FPSController中写入时会发生什么

Controller controller = transform.GetComponent<Controller>();

控制器为空吗?或者你得到了一个空引用异常?

您试图将"控制器"作为脚本的子级。try:

this.GameObject.GetComponent<Controller>

可能是:

this.gameObject.GetComponent<Controller>

但其中一个会解决你的问题

相关内容

最新更新