multimedia design, Actionscript, Lingo, PHP, Perl, SQL
7月
10

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

Filed under: Actionscript3 | Tags: Framerate | 7月 10th, 2009
Post

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 が発生するってことはマウスはステージに戻ってきてるってわけなんですね。

Bookmark and Share

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="">