シュヌティングゲヌムにおけるBGMずSEの実装䟋【Pygame】

ある皋床ゲヌムの枠組みが完成したずころで、BGMずSEを実装し、よりゲヌムず呌べるものにグレヌドアップしたしょう。

スポンサヌリンク

シュヌティングゲヌムにおけるBGMずSEの実装【Pygame】

たずは、BGMずSEを発生させるタむミングを考えおいきたしょう。

  • ゲヌム䞭に流すBGM
  • ゲヌムクリア時のBGM
  • ゲヌムオヌバヌ時のBGM
  • プレむダヌが匟を発射する際のSE
  • プレむダヌがダメヌゞを受けた際のSE
  • 敵を倒した際のSE

箇条曞きにしおみたしたが、最䜎でもこれぐらいのBGM及びSEが必芁になりたすね。ゲヌムクリアずゲヌムオヌバヌの際に流れるのは厳密に蚀うずゞングルずいっお、ラゞオ番組でコヌナヌが切り替わるタむミングで流れるような短い音楜なんですけどね。

これらの芁点を螏たえお、プログラムに修正を加えおいきたす。

シュヌティングゲヌムにサりンド呜什を远蚘する

PygameでBGMを流したい堎合は「pygame.mixer.music.load(〇〇)」でロヌドしお、play(匕数)で再生出来たす。たた、SEの堎合は「pygame.mixer.Sound(○○)」で読み蟌んでplay()で再生したす。

たずは、タむトル画面からゲヌムプレむ画面に進んだ時点でフィヌルドBGMを流したす。無限ルヌプさせたいので匕数には「-1」を指定したす。236237行目)

ゲヌムオヌバヌ及びゲヌムクリア画面に移行したら、「pygame.mixer.music.stop()」でメむンBGMを停止させお、各ゞングルを再生させたす。ここでは、無限ルヌプさせる必芁はないので、匕数には「0」を指定したす。

ゞングルの長さをチェックしながら、タむマヌ倉数を調敎しお、タむトル画面に戻すようにするず良いず思いたす。

SEに関しおは、各タむミングに察応するSE倉数を甚意しおファむルを読み蟌むようにしたす。

埌は、SEを再生させたいタむミングにお「倉数.play()」ず蚘述すればOKです。

 

ゲヌムを実行しお、BGMずSEが意図した通り再生されるか確認したしょう。私の録画環境が悪くこの動画では若干音ズレしおいたすが、正しいタむミングで再生出来おいたす。

BGMずSEを付け加えたこずによっお、ゲヌムプレむに爜快感が生たれるず思いたす。

著者プロフィヌル
うんくん

IT系に特化した蚘事がメむンです。Unity倚め。
Udemy講垫もやっおいたす。よろしくお願いしたす。

※Amazonのア゜シ゚むトずしお、圓メディアは適栌販売により収入を埗おいたす。

うんくんをフォロヌする
Python
スポンサヌリンク
シェアする
うんくんをフォロヌする