AS3ではnew MovieClip();だって!
Flex Builder 2 alphaをダウンロードして試してます。
とりあえず、Flexの機能は置いておいて、Flash OOPな人にとって気になるAS3(ActionScript 3.0)ですが、知れば知るほど衝撃的です!
AS2は内部的にはAS1と区別がなかったぐらいのもので、
AS1 → AS2は表層的な変化にすぎませんでしたが、
AS2 → AS3は根本的な変化といっても過言じゃないと思います。
今まではFlash Playerのバージョンが上がっても互換性を保つことが優先されて、古い(バグも含む)仕様を引きずってきた部分がありましたが、今回のFlash Player 8.5 + AS3では、より洗練されたものにすることが優先されているように感じます。
ただし互換性も同時に確保する必要はあるので、Flash Player 8.5ではAS3を実行するエンジン(AVM2)とそれ以前のものを実行するエンジン(AVM1)が両方とも搭載されているようです。
さて、AS3は言語体系はより洗練されたものになっているのですが、それを端的に現しているのが次のコードです。
[code]
var my_mc:MovieClip = new MovieClip();
my_mc.x = 10;
my_mc.y = 10;
this.addChild(my_mc);
var my_txt:TextField = new TextField();
my_txt.text = "テキストフィールド";
my_mc.addChild(my_txt);
[/code]
なんと、MovieClipもTextFieldもnewでインスタンス化するんです!
しかもプロパティを設定してから、画面に追加(addChild())できるんです。
これが何かいいかというと、今までMovieClipやTextFieldはOOP的には特殊な扱いをしなければいけませんでしたが、これで普通のクラスと同じ扱いができるということです。
そしてMovieClipの階層構造の縛りからも開放される... これについては後で。
カテゴリ
Flexトラックバック(0)
このブログ記事を参照しているブログ一覧: AS3ではnew MovieClip();だって!
このブログ記事に対するトラックバックURL: http://uenon.jp/mt/mt-tb.cgi/72

コメントする