2010年04月12日

表示リスト

表示リスト


AS3.0の解説を読んでいると、「表示リスト」「表示オブジェクト」「表示オブジェクトコンテナ」という言葉が出てくる。

表示オブジェクト
表示オブジェクトとは、どうやら目視できるインスタンスのことらしい。
例えば、音は見えないけど、映像は見ることが出来る。
なのでサウンドオブジェクトは表示オブジェクトではないが、ビデオオブジェクトは表示オブジェクトになる。

表示オブジェクトコンテナ
そして表示オブジェクトの中に複数の表示オブジェクトを作ることができる表示オブジェクトを「表示オブジェクトコンテナ」という。
つまり、ムービークリップの中には、ボタンやテキストや別のムービークリップを作成することができる。
このような表示オブジェクトを表示オブジェクトコンテナという。
container = 入れ物という意味なので、表示オブジェクトを入れる透明な箱と考えてもいいかも。
実際、MovieClipは画像などの表示オブジェクトがないと、addChild()で配置しても何も表示されないのだから。

表示リスト
表示リストだが、これがイマイチ掴めないんだなぁ。。。
ver mc:MovieClip = new MovieClip();

これでインスタンスを生成したけど、このmcを表示しようとおもったら、
addChild(mc);

これを書かないといけないんだけど、これは「表示リストに追加」したことになるらしい。
このmcに、ボタンインスタンス(btn)を配置するには、
mc.addChild(btn);

ということは、ステージ・スプライト・ムービークリップに配置する表示オブジェクトのリストってことなのかな。


<ぼやき>
というか、スプライトもよくわからないんだけどね。
ムービークリップのスーパークラスで、タイムラインが無いムービークリップのようなものらしいが、どんな場面で使うのかよくわからない。
今までだと、描画スクリプトやサウンドなどは、新規にムービークリップを作成してそれに含めたけど、これからはスプライトに書けってことなのだろうか。
単にグラフィックを配置するだけならタイムラインは必要ないものねぇ。。。
静止画じゃなくて、波打つサインカーブとか描きたい場合はどうなんだろう?
描画メソッドもGraphicsクラスに移っちゃって、わからん事だらけだ・・・
< /ぼやき>

スプライトは追々勉強するとして、次にどんなオブジェクトが表示オブジェクトとされるのかを見てみる。
「表示オブジェクト」になりうるクラスがflash.displayパッケージにまとめられている。
※テキストとビデオは含まれていない。下記の補足参照。

flash.displayパッケージ

意外なのはLoaderクラスが入っていることだけど、読み込まれた画像などの表示オブジェクトはLoaderクラスの子として扱うからかな。

さて、注目すべきはこの中の「DisplayObject」と「DisplayObjectContainer」

DisplayObjectContainer
このページのサブクラスが、表示オブジェクトコンテナとなるクラス。

DisplayObject
このページのサブクラスが、表示リストに追加できる表示オブジェクトとなるクラス。

ということで、表示リストの構造をまとめてみる。
displayObj.bmp


こうやって書いてみると、表示リストってのはライブラリのようなモノなのかな?と思う。
表示オブジェクトが、どこに配置されているかを管理するためのものといったところか。

【補足】
テキストやビデオはFlash.displayパッケージに含まれていないのだが”テキストはテキスト用のパッケージに、ビデオはマルチメディア用のパッケージに入れたから”というのが含まれていない理由だと思う。
でも、TextFieldクラスやVideoクラスは、DisplayObjectクラスを継承しているので表示オブジェクトとなる。

posted by K at 10:10| Comment(2) | AS3.0の構造 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
あ、久々に来たらあのネコちゃんが看板に(笑)
とってもかわいいですね
ピンクの鼻と茶色いシッポの先がCOOL
私はプログラムのことはよく知りませんが
色々と試行錯誤されていますね
頑張ってください!
Posted by ポロン at 2010年04月13日 03:49
>ポロンさん
コメントありがとうございます。
プログラムはなかなか理解できず、迷走しております><。
猫は・・・耳・ヒゲ・尻尾をつければ、なんとか猫に見えるもんですね(笑)
Posted by 管理人@K at 2010年04月13日 15:12
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。