首页 文章

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

提问于
浏览
0

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

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

我尝试了不同的方法,但每次使用 .GetComponent<Controller>

我收到一条错误消息,指出无法找到Controller .

控制器的分类是公开的以及bool持有 . 它们都在同一个对象上 .

2 回答

  • 0

    似乎一切似乎都很好 .

    在你编写的FPSController中会发生什么

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

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

  • 0

    你试图将“控制器”作为你的脚本的孩子 . 尝试:

    this.GameObject.GetComponent<Controller>
    

    有可能:

    this.gameObject.GetComponent<Controller>
    

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

相关问题