访问非静态成员unityengine.transform.localrotation需要对象引用

本文关键字:对象引用 localrotation transform 静态成员 unityengine 访问 | 更新日期: 2023-09-27 18:06:52

最近经常遇到这个错误。

访问非静态成员unityengine.transform.localrotation需要一个对象引用

    if(RotXY == RotationAxis.MouseX) {
        RotationX += Input.GetAxis("Mouse.X") * SensitivityX * Time.deltaTime;
        Quaternion XQuaternion = Quaternion.AngleAxis(RotationX, Vector3.up);
        Transform.localRotation = OriginalRotation * XQuaternion;
    }

我到底需要做什么来修复这个错误?

访问非静态成员unityengine.transform.localrotation需要对象引用

这是一个打字错误。你必须用变换,而不是变换。Transform是一个类,你不能直接访问它的成员。应该是这样的。

transform.localRotation = OriginalRotation * XQuaternion;

错误提示unityengine.transform.localrotation不是静态的。这意味着不能使用ClassName.memberName语法访问它。必须创建一个Transform类的实例。我真的不知道Transform是什么,但你要么需要调用它的构造函数,要么需要调用一个返回Transform对象的方法。