0
をジャンプする代わりに、「ホールド」の「プレス」キーがこの短いとシンプルを維持します:Monogame -
、私は可動キャラクターと2Dのゲームを持っている、と私は私のプレイヤーがジャンプできるようにするいくつかのコードを書かれています以下のようなので:
if (Keyboard.GetState().IsKeyDown(Keys.Space) && hasJumped == false)
{
sound.Play(volume, pitch, pan); // plays jumping sound
position.Y -= 5f; // position of jump
velocity.Y = -10.5f; // velocity of jump
hasJumped = true;
}
私はスペースバーを押したときにしかし、私の選手は、私だけの期間中一度をジャンプに私のプレーヤーが欲しい、彼が戻って地面に着地するときにジャンプしていきますスペースバーを押してくださいジャンプしてからもう一度押す必要があります。
何か助けていただきありがとうございます。私の衝突の一つで
UPDATE
マイ速度がリセットされます私のCollision()
関数内のif文:
if (rectangle.touchTopOf(newRectangle))
{
rectangle.Y = newRectangle.Y - rectangle.Height;
velocity.Y = 0f; // velocity reset
hasJumped = false;
}
spacebarDownを宣言するとき、どのようなbool値を設定しますか?これは私のプレーヤーが空中にいる間だけ動作するようです。 – toadflax
私はそれをfalseに設定すると言いたいですが、スペースを一度押すと何も影響しません。 – DeadlySurprise