0

したがって、rigidbody2D を追加すると、重力は通常どおりに機能します。プレイヤー スプライトが落下し、下向きの速度が増加します。非常に単純なプレーヤー コントロールを追加すると、ほとんどスロットルされているように見えますか? 重力を 50 程度に上げても、プレイヤー制御スクリプトがないと、gravity=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 に答える