0

因此,如果当我添加我的刚体 2D 时,重力会像往常一样工作。我的玩家精灵掉下来了,向下的速度增加了。一旦我添加了一些非常简单的播放器控件,它似乎几乎被限制了?如果没有我的播放器控制脚本,将重力提升到 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;
}
}
4

1 回答 1

2

您正在将精灵速度设置为受 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;
}
于 2015-02-21T04:31:43.817 回答