FlexSDKでFlash Player 10を試した

FlashPlayer10の新機能は、12月発売のFlash CS4で使えるようになるのだが、FlexSDKではすでに対応しているので、最新技術を追い求める開発者としては遅いのですが、FlexSDK環境をFlashPlayer10にしてみることにしてみました。以下はコードが通るようになるまでの手順です。

まずソースを準備

Flash Player 10の新機能として、Vectorクラスが追加されているのでこれを含むコードを試してみることにします。

/* test10.as */
package {
  import flash.display.Sprite;
  
  public class test10 extends Sprite
  {
    public function test10()
    {
      var hoge:Vector.<int> = new Vector.<int>();
      trace( "TEST Player10!!" );
    }
  }
}

これをtest10.asとして保存し、また、ビルドのためのXMLファイルも次のような内容で準備します。

<flex-config>
  <output>test10.swf</output>
  <target-player>10.0.0</target-player>
  <compiler>
    <debug>
      true
    </debug>
  </compiler>
</flex-config>

target-playerタグの内容がポイントとなります。

FlexSDKをダウンロード(失敗編)

インストールする流れは、以前FlexSDKをダウンロードして展開したときと同じです。

このエントリに書いているとおり、私の環境ではFlexSDKをC:\FlexSDKとして配置しているのですが、その中身をダウンロードしたファイル群とごっそり入れ替えます。
ダウンロードするファイルは、「Adobe.com内のFlex 3 Downloads(http://www.adobe.com/products/flex/flexdownloads/)」という場所からダウンロードします。
インストールはこれだけで住むはずなので、早速コンパイルしてみると、「C:\FlexSDK\frameworks\flex-config.xml(54): エラー: 'libs/player/10/playerglobal.swc' を開くことができません」というエラーが出ます。
ダウンロードしたファイル群のなかに、playerglobal.swcというコンポーネントが含まれていないのです。
ということで、ちょっと失敗。

FlexSDKをダウンロード(成功編)

Adobe Open Sourceサイトで公開されているFlex SDKにはplayerglobal.swcが含まれているらしい。ということで、以下のサイトからダウンロードします。
Adobe Open Sourceサイト内のFlexSDK(http://opensource.adobe.com/wiki/display/site/Projects#Projects-FlexSDK)」をダウンロードします。
zipを展開して中身を見てみると、playerglobal.swcが含まれていることが確認でき、また、上記ソースもコンパイルできました。

Flash Player 10のデバッグプレイヤー

traceコマンドを使っているので、以前試したようにfdbコマンドで実行してみると、Flash Player 9が立ち上がり、エラーになります。ブラウザにプラグインとしてインストールしているFlash Playerとは別のモノが動作しているようです。
スタンドアローン版のデバッグプレイヤーを「Adobe Flash Player - Debug Downloads」からダウンロードします。
"DownloadDownload the Windows Flash Player 10 Projector content debugger (EXE, 4.87 MB)"というところをクリックします。
ダウンロードしたexeファイル(flashplayer_10_sa_debug.exe)を適当な場所に置きます。C:\Flash\FlashPlayer みたいな場所に置いてダブルクリックで起動します。
開いたウィンドウのタイトルが、"Adobe Flash Player 10"となっていることを確認し閉じます。どうやら、これでその場所にパスが通るようで、次からfdbを起動したときにはそのPlayerが使われるようです。(特にドキュメントを参照したわけではなく、私が試した結果をメモしているだけなので、環境によってはもしかしたら動作しないかもしれません)

テスト完了

以上のように設定することで無事にFlex SDKによるFlash Player 10対応環境が構築されます。
最後にビルドしてデバッグするまでのコマンドラインの流れをメモしておきます。

C:\test>mxmlc test10.as
設定ファイル "C:\FlexSDK\frameworks\flex-config.xml" をロードしています
設定ファイル "C:\test\test10-config.xml" をロードしています
C:\test\test10.swf (839 bytes)

C:\test>fdb test10.swf
Adobe fdb (Flash Player Debugger) [ビルド 3794]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
URL を使用して Player を起動し、接続しようとしています
test10.swf
Player が接続されました。セッションを開始しています。
ブレークポイントを設定して「continue」と入力し、セッションを再開してください。
[SWF] C:\test\test10.swf - 1,284 バイト (解凍後)
(fdb) c
[trace] TEST Player10!!