キーを押すたびに音を使ってミサイルを発射します。しかし、それはいい音ではありません。キーを押している間、音が何度も繰り返され、コードがUpdateメソッド内にあるためだと思います。キーを押したときに一度だけ音を鳴らす簡単な解決策を探していますか?(ブール変数を使用して最初にtrueになり、サウンドが再生された後にfalseになるようにテストしましたが、いつ、どこでtrueに設定する必要があるため、これはうまくいきませんでした)ヘルプは高く評価されています!
// Fire
if (keyboardState.IsKeyDown(Keys.Space))
{
missile.launchMissile(spaceship.spaceshipPosition, spaceship.spaceshipDirection);
soundExplosion.Play();
}
動作していない新しいコードを編集してください!?
KeyboardState keyboardState = Keyboard.GetState();
KeyboardState prevKeyboardState;
prevKeyboardState = keyboardState;
keyboardState = Keyboard.GetState();
if (keyboardState.IsKeyDown(Keys.Space) && prevKeyboardState.IsKeyUp(Keys.Space))
{
missile.launchMissile(spaceship.spaceshipPosition, spaceship.spaceshipDirection);
soundExplosion.Play();
}