private Rigidbody2D _myRigidbody;
public float speed;
void Start () {
_myRigidbody = this.GetComponent<Rigidbody2D>();
}
void Update () {
float move = Input.GetAxis("Horizontal");
_myRigidbody.velocity = new Vector2(move * speed, _myRigidbody.velocity.y);
}
}
我在检查员中将速度设为7。当我在Unity中启动它时,角色不会移动,但动画会起作用。我该怎么做才能解决这个问题? (Unity 5)谢谢。
答案 0 :(得分:0)
我想问题是你正在创建一个空对象的引用,
_myRigidbody = this.GetComponent<Rigidbody2D>();
这句话说_myRigidbody = myRigidBody;这是一个空的。
尝试:
_myRigidbody = gameObject.GetComponent<Rigidbody2D>();