ARCHIVES
January 22nd, 2010 / 0:44 /

WonderflでBitmapDataのお勉強

(超初心者が書いていますので、自分より経験のない方には良く分からない内容かもしれません…)

ブラウザで無料ではじめるActionScript 3.0 ―It's a wonderfl world―

ブラウザだけでFlash(ActionScript 3.0)が作れるサービス「Wonderfl」の解説本
ブラウザで無料ではじめるActionScript 3.0 ―It’s a wonderfl world―
を購入しました。Flash専門の方が書かれているせいか、プログラミングの入門書としては
(僕、自慢じゃないですけどプログラミング入門書は結構買ってますので…)文章がちょっと微妙ですが、
Flashは好きだけどActionScriptはちょっと…という方にはおすすめ出来ます。

最近、小規模ですがいくつかFlashのお仕事も頂いているのですが、
規模的にもタイムラインに直接スクリプトを書く程度でなんとかなっている今日この頃。
来年こそはゼロからActionScriptで組み上げるようなお仕事も出来ればなーと思っています。

さてさて。

お仕事で、ある程度巨大なムービークリップを動かすことになりそうなので、
古いPCなどでも快適に再生出来るような、高速化の方法はないか…と探していたら、

Flashの描画速度をBitmapDataクラスを使って上げる方法 – しっぽのブログ
http://sipo.jp/blog/2009/12/flashbitmapdata.html

というブログ記事を発見したので、さっそく試してみました。
なるほどー。BitmapDataっていうのを2つ用意して、毎フレーム、片方の描画が完了したら
もう片方に反映…というのを繰り返して表示するんですね。
DirectXとかのゲームプログラミングではお馴染みだった気がする(10年前の知識です)
「ダブルバッファ」方式ですね。

↓まずは上記のテクニックの使用前。



1000個のオブジェクトを上から下に流している単純なものですが、
うちのMacBook Proで25fps程度と、残念なパフォーマンス。

↓そしてこちらがBitmapDataのcopyPixelsメソッドを使った場合です。



50fps出てる!さすがに速い!!
調子に乗って10000個表示しても、30fps程度の結果になりました。これは使えそうです。
ただ、このままだとちょっと直感的じゃないので、ちょっとしたクラスを用意しないと
簡単に使えるって感じじゃないなあ。オブジェクト指向、好きだけど使うのは苦手なので
実戦投入までにはもう少し時間がかかりそうです。

あ、今回のコード、行き当たりばったりで作っているので
あまり参考にされない方がいいかと思いますよー。

こういうの、ときどきこっそり練習しているのですが、
需要があればここに書いていくのでご意見など頂けると嬉しいです。
よろしくお願いしまーす。

RELATED POSTS
COMMENTS
2 Comments »
コメントを残す

CAPTCHA