试图从 public 游戏对象中的脚本获取变量,错误 CS1061

Trying to get a variable form a script in public gameobject, error CS1061

我正在尝试从对象“Wheel1”中的脚本“WheelHandler”获取变量“isOffRoad”。 我收到错误:

Assets\Scripts\CarControler.cs(53,13):错误 CS1061:'GameObject' 不包含 'WheelHandler' 的定义并且没有可访问的扩展方法 'WheelHandler' 接受第一个可以找到 'GameObject' 类型的参数(您是否缺少 using 指令或程序集引用?)

提前致谢。

编辑:isOffRoad 是 public。

public GameObject Wheel1;

void Update()
    {
        if(Wheel1.WheelHandler.isOffRoad == true)
        {
            Debug.Log("offroad");
        }
    }

您需要使用 GetComponent<>() 方法访问您的组件。

你的情况是 Wheel1.GetComponent<WheelHandler>().isOffRoad

另外不建议在更新循环中访问组件。最好缓存在一个字段里

试试这个:

if (Wheel1.GetComponent<WheelHandler>().isOffRoad))
{
    // do something..
}