cocos2d-jsでWEBでプレイする場合はいいのだが、
androidの場合はやはりメモリの圧迫が気になる。
しかしどうもBGMを解放するためのメソッドが見つからない。
effectの方はあるようなのだが。
cocos2d-jsの場合、ライブラリのプログラムを見て無理やり実装しても
WEBでは動作してAndroidでは動作しない、ということがよくあるので
あまり時間をjsを解析しても意味が無い。
cocos2dxのマニュアルを見てみても見つからないし、
勝手にアンロードしてくれるのだろうか、と思いつつcc.audioEngineを見ていたら
cc.audioEngine.stopMusicの引数にBoolean releaseDataという記述を見つけた。
jsのプログラムを見るとどうもリソースを開放しているらしい。
Android側でも正しく動作するかは分からないが、
とりあえずこれで良さそう。
Windowsの場合は最初のプリロードでBGMを全部読み込んで、releaseDataは全部false。
Androidの場合は最初にプリロードしなくても動くので、
遅延なども気にせずplayMusicで同時に読み込ませ、
停止(他のBGMに切り替える)時にreleaseDataを全てtrueで実行する形にした。
(Android側でちゃんとリリースされているかは未検証)
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント