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

时间:2015-02-21 03:53:56

标签: unity3d unity3d-2dtools

所以,如果我加上我的刚体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;
}
}

1 个答案:

答案 0 :(得分: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;
}