添加播放器控件时重力会发生显着变化

Gravity dramatically changing when adding player controls

所以如果我添加 rigidbody2D 时,重力会像往常一样工作。我的玩家精灵掉落并且向下的速度增加。一旦我添加了一些非常简单的播放器控件,它似乎几乎被限制了?如果没有我的播放器控制脚本,将重力提高到 50 之类的东西仍然感觉与重力 = 1(默认设置)不同。这是我的代码。

public class playerControlls : MonoBehaviour {

public float maxSpeed;

void Update(){
    float moveH = Input.GetAxis ("Horizontal");
    Vector3 movement = new Vector3 (moveH, 0.0f, 0.0f);
    rigidbody2D.velocity = movement * maxSpeed;
}
}

您将精灵速度设置为受 maxSpeed 限制,这包括它的下落速度。

rigidbody2D.velocity = movement * maxSpeed;

意味着精灵永远不会达到超过 maxSpeed 的向下速度。 设置移动矢量时,包括rigidbody.velocity.y.

void Update() {
    float moveH = Input.GetAxis ("Horizontal");
    Vector3 movement = new Vector3 (moveH, 0.0f, 0.0f);
    movement *= maxSpeed;
    movement.y = rigidbody2D.velocity.y; //movement vector now maintains current falling speed
    rigidbody2D.velocity = movement;
}