FlexSDK4.5.1でFlashPlayer11の機能を使う

AS3でJSONを使いたい機会が出て、FlashPlayer11出たてで良い機会。ということでコンパイルしてみた。


まずは環境構築
AdobeFlexSDKサイトからFlexSDK4.5.1をダウンロードし、適当なディレクトリに解凍 & binにパス通し。自分はフリー版をダウンロード


先程解凍したFlexSDK4.5.1ディレクトリ下のframeworks/libs/playerに11.0という名前のディレクトリを作成、
続いてAdobeFlashPlayerダウンロードページからplayerglobal.swc FlashPlayer11版をダウンロードし、
そこにplayerglobal.swcという名前で保存(多分そのままだとplayerglobal11.0.swcとか別名付いてるので名前変更)

後はコンパイラmxmlcに -target-player=11.0 というオプションを付けて.asファイルをコンパイル
JSON.parse(str)が通った!!完!


...と思ったが、いざ実行するとReferenceErrorが出てパース出来ない。何故...?
調べてみると、どうやらSWFのバージョンも明記しないといけないらしい。
なのでコンパイラオプションに-swf-version=13も追加。後はFlashPlayer11さえ入れていればこれで動く(デバッガでもいいよ!)。

swfのバージョンまで必要とは思わなかったのでちょっと時間を食ってしまったが、これでFlashPlayer11への道が開けた。わーい