PC用に作ったFlashアニメーションをiPhoneでも使いたいという話があり、
Flashアニメを連番画像で書き出してアニメGIFにする以外に
何かいい手はないかと調べていたところ、Gordon.jsというものを教えてもらいました。

http://github.com/tobeytailor/gordon

JavaScriptでswfを解析し、ベクターグラフィックをSVG形式で描画するため
iPhoneのSafariを含めたSVGが利用できるブラウザであれば
FlashPlayerを使わずswfアニメーションを表示できるようです。

こんな感じ



実際にいろいろ実験してみて気付いたところとしては、

・対応しているのは「FlashPlayer1」向けに書き出されたswfのみ
・画像は表示されない、ベクターのみ(グラデーション可)
・ローカルでは動作しない(環境によるのかも)


FlashPlayer1として書き出すために注意する点としては

・ムービークリップが使えないのでシンボル化するときはグラフィックに
・透明系の描画は使わない(塗り、カラー効果のアルファどちらも)

グラフィックは使い回したり、ループのオプションをループにしても、
置いた数だけ、ループした回数だけ、容量が増えていくので、
長いムービーを作成する際には注意が必要です。


実機での描画スピードですが
上記のサンプルのようなシンプルなものであれば、
3GSだと~25ps、3Gだとその5~7割くらい程度のフレームレートがでていました。
FlashLite(や普通のFlashPlayer)同様、
グラフィックの複雑さによって処理スピードは結構変わりました。


JS自体の容量が30kb程度あるので、使いどころには注意が必要ですが
iPhoneブラウザ上でなめらかにアニメが表示されるのはいいですね。
 

HTML5飯