我不知道发生了什么,我正在尝试遵循Unity 4中编写的教程,并且已经发生了很多变化。这是我已经得到的,现在我被卡住了。
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed;
public static Rigidbody rb = GetComponent<Rigidbody>();
private Vector3 input;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
GetComponent<Rigidbody>().AddForce(input);
}
}
答案 0 :(得分:0)
您无法在功能外使用Unity的GetComponent
功能。把它放在一个函数中你应该没问题。在这种情况下,将其置于Start()
Awake()
函数中是合适的。
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed;
public static Rigidbody rb;
private Vector3 input;
// Use this for initialization
void Start()
{
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
input = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
GetComponent<Rigidbody>().AddForce(input);
}
}