【iPhoneアプリ】「cocos2d for iPhone」でゲームアプリを作ってみる(SimpleAudioEngineでBGMと効果音を鳴らす)


概ねタイトル通りです。
SimpleAudioEngine」を使えば簡単に音関連の処理が作れます。
使い方を紹介しています。





SimpleAudioEngineの使い方


SimpleAudioEngineを使うときには、SimpleAudioEngineクラスのsharedEngineメソッドを使ってシングルトンのインスタンスを取得してメソッドを実行します。
いつものCCDirectorのsharedDirectorメソッドと同じ要領ですね。

[[SimpleAudioEngine sharedEngine] 【使いたいメソッド】];



また、SimpleAudioEngineを使うときにはヘッダファイルでインポートが必要です。
#import "SimpleAudioEngine.h"



SimpleAudioEngineでBGMを再生・停止する


BGMはゲームに必要不可欠な存在ですね。
SimpleAudioEngineを使えば簡単にBGMを再生することができます。
(BGMを○秒から○秒までループする、などはできませんが)

BGM関連のメソッドは以下の通りです。
メソッド名内容
playBackgroundMusicファイルを指定してBGMを再生する
pauseBackgroundMusic再生中のBGMをポーズ(一時停止)する
resumeBackgroundMusic一時停止したBGMを再会をする
stopBackgroundMusic再生中のBGMを停止する
preloadBackgroundMusicBGMファイルを予め読み込んでおく

playBackgroundMusicメソッドは引数により無限ループにさせたりできます。
再生を始める前にファイル読み込みの為、若干タイムラグが発生する場合があります。
タイムラグを無くしたい場合は前もって
preloadBackgroundMusicメソッドを利用して予めファイルを読み込んでおけばOKです。


SimpleAudioEngineで効果音(SE)を再生・停止する


ほとんどBGMと同じですが、効果音の再生も簡単にできます。

メソッドは以下のとおり

メソッド名内容
playEffectファイルを指定して効果音を再生する
stopEffect効果音を停止する
preloadEffect効果音ファイルを予め読み込んでおく

プリロードの使い方もBGMと同じですね。

BGMと違う点として、効果音を複数鳴らすことができます。
また、停止させる時はplayEffectメソッドの戻り値を指定して実行します。
今回は紹介を省きますが、playEffectは音程、定位を変更して再生することも可能です。

[cocos2d] SimpleAudioEngineを使った効果音作成での注意点 曲数制限


こちらのサイト様でSimpleAudioEngineの注意点が紹介されています。

・albatrus.com [cocos2d] SimpleAudioEngineを使った効果音作成での注意点 曲数制限

たくさんのBGM、効果音ファイルを読み込みたい場合は注意が必要のようです。


サンプルプログラム


上記で紹介した機能を使ったサンプルプログラムを作ってみました。

【GitHub】
github.com/ouka-tenshi/iOS-Sample/tree/master/Cocos2dSimpleAudioSample

【実行結果】
【iPhoneアプリ】「cocos2d for iPhone」でゲームアプリを作ってみる(SimpleAudioEngineでBGMと効果音を鳴らす):サンプルプログラム




       |
       |
 : : :::::::,. -─´、て
::: :: :::Σco===、!,_
: : :: :::::l´i(ノリハノリ)  次でようやくゲームの基盤作りを開始…できるだろうか…
 : : :::::ルlリ⊃⊂ヽ
 : : ::::(( //xxxxヽ、─────────────────
    /~~~
  ./


関連記事

コメントは受け付けていません。