C# 错误:访问非静态成员需要对象引用

C# 错误:访问非静态成员需要对象引用,c#,unity3d,C#,Unity3d,从Unity 5开始,UnityEngine.Component.rigibody已被弃用,使用它将导致编译器错误。相反,您需要使用GetComponent()。因此,在您的情况下,您的代码如下所示: using UnityEngine; using System.Collections; public class PlayerMovement : MonoBehaviour { public float moveSpeed; private Vector3 input;

从Unity 5开始,UnityEngine.Component.rigibody已被弃用,使用它将导致编译器错误。相反,您需要使用
GetComponent()
。因此,在您的情况下,您的代码如下所示:

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {
    public float moveSpeed;

    private Vector3 input;

    void Update () {
        input = new Vector3(Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
        rigidbody.AddForce(input * moveSpeed);
    }
}
使用UnityEngine;
使用系统集合;
公共类玩家运动:单一行为{
公共交通速度;
专用矢量3输入;
无效更新()
{
输入=新矢量3(input.GetAxis(“水平”),0,input.GetAxis(“垂直”);
GetComponent().AddForce(输入*移动速度);
}
}

您应该添加有关问题的更多信息!你想达到什么目标?你还试过别的吗?
using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {
public float moveSpeed;

private Vector3 input;

    void Update () 
    {
        input = new Vector3(Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
        GetComponent<Rigidbody>().AddForce(input * moveSpeed);
    }
}