Skip to content
第09回 音声の管理と再生

3 / 4 成立した出来事へSEを接続する

このステップの目的

射撃、命中、被弾、結果の出来事が成立した場所から効果音を1回再生する

入力ではなく成立結果で鳴らす

射撃キーが押された瞬間ではなく、Player::TryShoot()が成功し、実際に弾が生成されたときに射撃音を鳴らします。 空きがないときに音だけが鳴ることを防げます。

Game.cppcpp
if (player.TryShoot(input, playerShots))
{
    sounds.PlaySe(SoundId::Shot);
}

同じ考え方で、敵へダメージを与えたとき、被弾が成立したとき、状態が結果へ変わったときにSEを呼びます。

チェックリスト
  • 弾の生成成功時だけ射撃音が鳴る
  • 敵への命中成立時に命中音が鳴る
  • TryTakeDamage()trueのときだけ被弾音が鳴る
  • クリアとゲームオーバーのSEが状態遷移へ対応している