着信があった場合や、その他の理由でバックグラウンドに移動した場合、音楽やタイマーを一時停止して正しく停止するようゲームを最適化しています。アプリをバックグラウンドに移動するときに音楽が停止しない
何らかの理由で、音楽を停止するコマンドが発行されたにもかかわらず、音楽が停止しないという事実以外は素晴らしいことです。奇妙なのは、ゲームがフォアグラウンドに戻ったときに、1つではなく2つのバックグラウンドミュージックが演奏されるということです。ここで
は複雑すぎるか、普通の何も、私のコードの私の一部ではありません:
...
NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate);
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate);
...
private function handleActivate(event:Event):void
{
stage.frameRate = previousFrameRate;
//if the music was on when the game is moved to the background, then replay it when its moved back to the foreground
if(musicOn)
{
BGMusic.play();
}
}
private function handleDeactivate(event:Event):void
{
BGMusic.stop();
stage.frameRate = 0;
}
その後、ゲームがフォアグラウンドに戻ったとき、私は音楽を再生していない場合には、ことは注目に値する(すなわちhandleActivateでBGMuusic.play()を使用しないと、期待どおりの音楽はありません。バックグラウンドミュージックが止まらないフォアグラウンドに移動して2つの演奏トラックを取得するときに、音楽を停止してから再開するときだけです。
アイデア?私が言ったように、他のすべては正常に動作し、ゲームは正しく一時停止する。私はフラッシュビルダーエミュレータでこれをテストしています。アイフォーンで直接テストするための証明書がないからです。だから多分それはエミュレータ自体の問題ではなく、コードです。事前に
おかげ
EDIT:フラッシュと私の愚かだったのAdobe AIR
これは私にとって客観的なものです。私はフラッシュとAdobeの空気でゲームを書いています。これが私を助けてくれるかもしれないことを私に説明できますか? =) – r3x