PR

表示の概念

2008年6月9日(月)
加茂 雄亮

コア表示クラスと継承

 前回はActionScript 3.0の概要を中心に解説しました。今回は、Flashの根幹ともいるコア表示クラスについて紹介します。コア表示クラスとは、Flash Playerで表示できるビジュアルオブジェクトのクラスであり、主にflash.displayパッケージに含まれているDisplayObjectクラスを継承したサブクラスのことをいいます(一部、staticText、TextField、およびVideoはflash.displayに含まれないクラスですが、DisplayObjectクラスを継承しています)。

 継承とは、既存のクラスを元に新しいクラスを開発する手法のことで、既存のクラスを"スーパークラス"または"基本クラス"と呼びます。反対に、新しく継承するクラスのことを"サブクラス"と呼びます。継承を使うことで、既存のコードを維持したまま、コードの再利用が可能になります。例えば、MovieClipのx座標やy座標を参照するにはxプロパティやyプロパティを使用しますが、MovieClipクラスには直接xやyといったプロパティがあるわけではなく、MovieClipクラスがDisplayObjectクラスを間接的に継承しているからです。

 間接的に継承しているのは、MovieClipクラス自体は直接DisplayObjectクラスを継承していないからです。MoviClipクラスが直接継承しているのはSpriteクラスで、SpriteクラスはDisplayObjeCtcontainerクラスを、DisplayObjeCtcontainerクラスはinteractiveObjectを継承し、そしてinteractiveObjectがDisplayObjectを継承している形になっています。これらのツリー構造は図1を参照ください。

表示リストと表示オブジェクトコンテナ

 前回のサンプルでも取り上げましたが、ActionScript 3.0は、FlashPlayerに表示するために表示オブジェクトを表示リストに追加する必要があります。

 なお表示リストに追加できるのはDisPlayObjectを継承したクラスのから生成されたオブジェクトのインスタンス、つまり、表示オブジェクトです。勘違いしやすいところではありますが、これらが生成された時点は、FlashPlayerでは表示こそされませんが、メモリーにはデータとして蓄積されています。つまり、画面に表示されていないからといって、オブジェクトそのものが消滅したわけではないということを、頭に入れておく必要があります。

 そもそも、表示リストとはなんでしょう?

 表示リストとはStageを最上位とするツリー構造で成立している、表示オブジェクト同士を管理するための概念です。Flashでは最初からStageと、ひとつのメインクラスとして存在している表示オブジェクトコンテナがそのリストに追加されています。ここでいうメインクラスとは、メインルートそのものになります。

 表示オブジェクトコンテナとは、表示オブジェクトを内包することができる表示オブジェクトのことをいいます。表示オブジェクトコンテナになりうるクラスは、MovieClip、SpriteそしてStageです。

株式会社ロクナナ
ActionScriptを伴うFlashコンテンツやXHTML+CSS+JavaScriptによるAjaxコンテンツなどのRIA開発に従事。Flash/ActionScript 3.0やXHTML+CSSに関する講義・執筆活動にも取り組んでいる。http://www.rokunana.com/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

表示の概念 | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。