AIR3.2でStage3DをiPhoneで動かす

今年はフットサルボードのサーバ側(GAE/J)ばかりやってます。

さてAIRのバージョン3.2が発表されています。
自分にとって重要な変更は、stage3DがスマートフォンGPUに対応したこと。

先ほど、以前FlashPlayer11向けに作成したStage3D+Away3DのサンプルをiPhone3GSで動作させるのに成功しました。(ちょっとおかしい動きはしてますが)
http://futsaltacticsboard.appspot.com/stage3dSample/GettingStartedWithAway3D.html

単純に言ってしまうと、AIR3.2SDKをダウンロードしてきて、Flex4.6SDKに上書きコピーして、それを使ってビルドすればOKです。
ですが、僕はMacでそれをやってはまったので、備忘録のためにやり方を残しておきます。

1、AIR3.2SDKをダウンロード
http://www.adobe.com/devnet/air/air-sdk-download.html
tbz2ファイルがダウンロードされる。

2、FlashBuilder4.6がインストールされてるフォルダにsdksフォルダがある。
その中に4.6.0フォルダがあると思うので、コピペでもう1個作っておく。適当に名前を4.6.0withAIR3.2とでもしておく。

3、tbz2ファイルを4.6.0withAIR3.2に入れて、tar jxvf で展開。
ここが重要。
普通にtbz2ファイルを展開して、それをFinderでフォルダに上書きコピーするのはダメ。
FinderはWindowsエクスプローラとは異なり、上書きコピーすると、同名のフォルダがあった場合にフォルダの中の元ファイルを消してしまいます。
元からあったファイルが消えるので、FlexSDKのファイルが消えてしまいます。
tar以外にもcpとか使う方法あると思うけど、とにかくFinderはダメ。

4、プロジェクトActionScriptコンパイラーの設定でFlexSDKを切り替えます。また、コンパイルオプションとして-swf-version=15を加えるように。理由は知りません。

5、後は、app.xmlの設定が不十分な場合はコンパイル中にコンパイラが教えてくれるので、適宜設定してください。

これで終わり。後はいつもどおり。