ActionScript3 では、API が大幅にリパッケージングされています。これは、描画機能が集約された重たい MovieClip への依存からの脱却が目的の一つで、描画関連の機能にも新しい考え方やクラスが導入されています。AS3 を使うにはこれらのクラスを理解しなくてはなりません。そこで、AS3 の新しいモデルについて、少し説明をしたいと思います。まずは少し抽象的な話から始めます。
注:以下の内容は、パブリックアルファ版に基づくもので、製品版までには変更されることがあります。
DisplayObjct クラス
DisplayObject は ActionScript3 から新しく導入されたクラスで、画面に表示される全てのオブジェクトのベースとなる重要なクラスです。プロパティを見ると、以下のような、表示の様子を指定する基本的なプロパティを持っていることが分かります。(livedocs@lab)
x // インスタンスのX座標 y // インスタンスのY座標 height // インスタンスの高さ width // インスタンスの幅 alpha // インスタンスのアルファ値
ActionScript1/2 では、これらのプロパティは MovieClip 等に属していましたが、AS3 では DisplayObject のプロパティになっています。また、名前から '_' (アンダースコア)がなくなっていることにも注意してください。
DisplayObject のプロパティには、Flash8 から追加された高度な表現を指定するものもあります。
scale9Grid // インスタンスのX座標 blendMode // ブレンドモードを指定 filters // フィルターオブジェクトの配列 cacheAsBitmap // ビットマップ形式で表示データを保持するフラグ
このように、DisplayObject は表現を指定するのに必要な機能が集められたクラスです。一方インタラクションを提供する機能は含まれていません。また、抽象クラスなので直接インスタンスかすることは出来ません。
DisplayObject の主なサブクラスとして BitMap や Shape があります。それぞれ
- Bitmap : ビットマップデータを表示する
- Shape : ベクターグラフィックスを表示する
という目的で使用されます。これらのクラスは MovieClip より軽量であるため、描画処理の高速化に貢献することが期待できます。
コメントする