Seasons.NET

ちょっとした技術ブログです

Cocos2d-Swift 音を出してみる1

 

Cocos2d-Swift タッチを検出してみる - Seasons.NET

のらりくらりと書いているブログですが、せっかくタッチを検出するプログラムを書いてみたので音を鳴らしてみたくなりました。というわけで、早速最近のcocos2dにおけるサウンド処理について調べてみます。

これまでcocos2dといえば、SimpleAuidoEngineが有名でしたが、どうやら最近のcocos2dは、ObjectALを採用しているようです。


iOS - ObjectALを使う - Qiita

 

手持ちの適当なclick.mp3というサウンドファイルをXcodeのプロジェクトに追加してみました。

f:id:Seasons:20150102233647p:image

このclick.mp3を再生するためには、前回のプログラムにサウンド処理のプログラムを追加してみます。

ccswift20150102

playEffectというメソッドが引数に渡したSEを再生してくれます。とても簡単ですね。

さて、OALSimpleAudio.sharedInstance()のプログラムを打ち込んだ方は、気づいたかもしれませんが、コード補完にsharedInstanceが出てきません。

おそらくXcode側でsharedInstanceのプログラムコードを解析できていないためだと思われます。(実際、このsharedInstanceは、SYNTHESIZE_SINGLETON_FOR_CLASS_HEADERというマクロ展開で実装されています)

 

以前のcocos2dとクラス名や実装が若干変わりましたが、手軽にサウンド再生が出来る点は変わっていなくて安心しました。