飴屋

Flash3D/正規リリース前に開発環境を揃えてみた

開発環境を揃えて実験してみたい

これを書いている時点でFlash Player11のRC版が公開されたばかりで、Flashの3Dに関する新しい機能はまだ一般には広まっていません。しかし、RC版が出る以前よりインキュベータ版が二回リリースされているので既に興味のある方はたくさん開発作業を開始されているようです。私もちょっと仕事が落ち着いてきたので、RC版のFlash Player11をダウンロードしてみることにしました。

私はFlashDevelopでFlashの開発を行うことが多いのですが、FlashDevelopもバージョン4の準備が盛んに行われているようで、4.0.0 beta2というのがリリースされているようでした。3系とのプラグインの互換性がどうのこうの書いてありましたが、実害なさそうなので、新しい方をインストールしておきました。

FlashDevelop4からはFlexSDKを予め複数登録しておいて、プロジェクト毎に選択できるようになったのだそうです。というわけでAdobeサイトから最新のFlexSDKをもらってきたのですが、FlashDevelop4標準のSDKのバージョンが既に4.5.1だったので、それをそのまま使った開発もできそうです。

FlashPlayer11用のplayerglobal.swcは当然ながらまだ標準で入っていないので、こちらはベータ版のものをAdobeサイトからダウンロードして、FlexSDKの「frameworks/libs/player/11.0」につっこんでおきました。「11.0」というフォルダは元々なかったのでこのとき新設しました。

これで準備はできたかなと思って、先人が発表していたサンプルコードをビルドしてみることにしました。・・・しかしビルド結果は白かったり黒かったりで何も描画されません。右クリックするとムービーが読みこまれていないとかなんとかで何か問題があるようです。わからないなりにいろいろ調べて、以下のような処置を行いました。

flex-config.xml

FlexSDKのframeworksフォルダの中にflex-config.xmlというファイルがあります。ビルド時にこのファイルを参照しているようなので中身を覗くと16行目ぐらいに

<target-player>10.2.0</target-player>

という記述がみつかります。なるほど、ビルドされたものが古いFlashPlayer向けだったのでしょう。11.0.0にここは変更です。

Additional Compiler Option

FlashDevelopのプロジェクトのプロパティにCompiler Optionというタグがあります。ここにコンパイラに渡すオプションを追加できる欄があるので「-swf-version=13」というオプションを追加してやるとよいというのを複数サイトで発見しました。swfバージョンというのは多分SWFファイルの先頭の方についてるSWFの仕様のバージョンのことですね。FlashDevelop4ではFlashPlayer10.2向けにコンパイルをしているようでしたので、ここのバージョンが標準では「11」になっていたのでしょう。FP10.3がSWF12相当、FP11.0がSWF13相当ということのようですので、「13で頼む」という指示が必要でしたか。
なお、前述の「flex-config.xml」にも「11」という記述があったので、ここも何となく13にしておきました。

directモード

上の二つでどうやらビルド中のリンクがうまくいったようで、実行時の「stage3Dってなんだよ、おい!」っていうエラーメッセージが消えてくれたのですが、まだうまく表示されません。「さーせん、Content3Dが準備できません。」みたいなメッセージが代わりに現れるようになりました。

どうもstage3Dを使った3D表現はwmode="direct"でないとならないようで、実行して確認する場合はhtml上のコンテンツとして確認するのがよいらしいです。プロジェクトのプロパティから「Test Project」時には「Open document」して「bin/index.html」をブラウザで閲覧するようにしたら、サンプルのプロジェクトがちゃんと動く姿を確認できました。FlashDevelop4でNew Projectしたときのbin/index.htmlは最初からwmode="direct"と設定されているようですね。

せっかく作った時間がこうして環境設定の手違いで潰れて悲しかったのですが、FlashDevelopとか他のFlexSDKを使った製品のことが勉強になりました。

Date: 2011/9/13

FlashPlayer11とFlashDevelop4 RC版のリリース

2011年10月になってFlashPlayer11が正式に発表され、FlashDevelop4もRC版がリリースされたので開発環境も更新してみました。FlashDevelop4はクリーンインストールが必要とのことなので、前回導入したベータ版をアンインストールした上で、再度インストールしなおしました。

次にFlashPlayerダウンロードサイトからデバッガ付きのFlashPlayer11プロジェクタと更新されたPlayerGlobalをダウンロードします。

ブラウザ上でFlashを再生するプラグインではなくて、単独で動作するやつはプロジェクタ(Projector)って呼ぶんですね。これを適当な場所(自分の環境ではC:\Program Files\FlashDevelop\Tools\flexsdk\runtimes\player\11.0にしました)に置いて、FlashDevelopの「Tools > Program Settings > FlashViewer > External Player Path」の項目に設置したプロジェクタを指定します。

PlayerGlobalは前回同様、FlexSDKの「frameworks/libs/player/11.0」にあらかじめ入っていたものを最新のものに置き換えました。

これでデバッグ作業もプロジェクタを使ってできるようになりました。

Date: 2011/10/9

Flash3D