ActionScript 3.0 をはじめてみる。


Flash 9 の Preview バージョン、ダウンロードはしてみたもののまともに触ってなかったのだけどなんだか周りが騒がしくなってきた感じなので始めてみますよ。

とりあえずいろんなプロジェクトで使いながら作り上げてきた自作ライブラリをAS3.0に移植、、、と思ったんだけどいきなり問題発生。fladdict.net blog: AS3メモ AS3用コンポーネントのアイデア で取り上げられてる問題そのものだ。

俺ライブラリの基本は MovieClip を extend したクラスをリンケージのASクラスに指定するというやりかた。これで俺クラスに定義された動きがそのムービークリップで使えるようになる。Movie Clip Tweening prototypes みたいなもん。

2006071801

AS3.0 でもスクリプト内からインスタンスを生成しないのであれば、同じように Linkage の Class に俺クラス名を書けばいい。だけどスクリプト内で new してうんぬんて場合、これじゃダメだ。

2006071802

↑ Symbol 1 と Symbol 2 に同じクラス OreClass を指定すると怒られる。linkage identifiers must be unique つったって linkage id は指定できねいべ。。。と思ったら、class 名が linkage id として使われてるのか。。

別のやり方として Movie Clip Tweening prototypes みたく prototype にいろいろ仕込んじゃえば同じような事はできるけど、汎用性のあるものならまだしも数個のムービークリップでしか使わないようなものを prototoype に仕込むのもどうかと思うし。

見た目がちがうけど機能は同じっていうのってかなりあると思うのだけど、そいうのをいちいち個別のクラスになんかしてられねい。AS2.0の class と linkage id っていうやりかたはこういう場合すごくスマートに解決できるんだけどなんでAS3.0では linkage id と class が同じになっちゃったんだろか。

Technorati Tags: