イナヅマTVログ

ActionScript, Framerateをコントロールする

| 0件のコメント

via:gotoAndLern(), SWF Framerate Optimization – Learn to how dynamically change your movie’s framerate to use only the resources it needs.

いっつもお世話になっているgotoAndLern()のTutorial Video。
今回もかなり役に立ちそうです。

フレームレートを最適化することで無駄にCPUリソースを消費しないようにしよう、って趣旨のTutorialだと理解しました。
アニメーション(Tween)させる時は Framerate を30に設定し、何もアニメーションさせてないなら5にしとこうね、ということらしい。
何もアニメーションさせてない、の中にはFLVを単に再生させている、も含まれてました。

ビデオはビデオのレートで再生されるのでFlashのフレームレートには影響されないのでしょう。

単にフレームレートを低くすれば良いわけでもなさそうです。
フレームレートを1にするとビデオの再生がスムーズにならないようです。
Tutorialで5に設定しているのは意味があるようです。

今回のTutorialビデオで、フレーレートをActionScriptで設定できるのがまず発見です。
思い込みもあるのですが、フレームレートは変えられないと決めつけてました。

stage.frameRate = 30;

とすることでフレームレートは設定可能です。
ヘルプによれば Flash Player 9 かららしいので、CS3だと設定できるようになってたんだ。
知らないと色々損をする。

また、マウスがステージ外に出たらフレームレートを落とし、戻ってきたらフレームレートをもとに戻す、のイベントの使い方が参考になりました。

stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler);
function mouseLeaveHandler (e:Event):void {
	stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseBackHandler);
}
function mouseBackHandler (e:MouseEvent):void {
	stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseBackHandler);
}

なるほど MouseEvent.MOUSE_MOVE が発生するってことはマウスはステージに戻ってきてるってわけなんですね。

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください