ActionScript3でBulletMLを動かしてみた

結構簡単にできた。E4Xのおかげ。ものすごくナイーブな実装だけど。

で、XMLをパースしてBulletMLをドライブするロジック部分だけなら、2000個の弾を60フレで動かそうとしてもなんとかなるんだが、やっぱり描画が重い。360x480の画面サイズで、弾を単なる白い2x8の長方形で書いたとしても、1000個くらいでフレームレートが30くらいまで落ちる。うちのマシンだと。画質低だと45フレくらい。

つまり「スクリプトに限定して速くなった」と見てよさそう。描画速度は8の時点で既に完成されてるんだろうな。

にもあるように、描画部分に関しては、Flash Player 8.5でもパフォーマンス向上はあまり期待できなさそう。

なので描画をどれだけ軽くできるかがキモだなあ。Flash Playerの特性がぜんぜん分からんので、どういう風に描画すると軽く作れるのかがわからん。まあ1000個で30フレなら十分とも言えるけどね。

あとFlashってフレームレートを動的に変化させる機構はないの?これがないと意図的な処理落ちの実現がめんどくさい。onEnterFrameの中でビジーでないウェイトが書ければできそうだけど、ActionScriptにそういう機能があるか分からん。