当页面最小化或者失去焦点时,flash player会进入睡眠模式,frameRate会下降到4fps以下(虽然Stage.frameRate 属性将返回原始 SWF 文件的帧速率,但实际上不是),Timer和ENTER_FRAME事件将受到影响。
可以通过Event.Activate和Event.Deactivate来监听flash player是否进入睡眠模式。当flash player进入睡眠模式,播放音效文件,如:sound.play(),可以使frameRate恢复到8~9fps,要想完全突破,可以使用一下方法:
1.打开flash professional新建ActionScript3.0文件,在时间抽的的第一帧放一音效文件,然后在第五帧按F5(只要多于一帧就可以),导出为KeepActive.swf。
2.当监听到Event.Deactivate事件,加载KeepActive.swf到场景。恢复Activate时移除KeepActive.swf。