添加播放器控件时重力会发生显着变化
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;
}
所以如果我添加 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;
}