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