2009年6月12日金曜日

addedToStageについて

http://www.harhid-labo.com/p1/index.php?Added-To-Stageイベント
ADDED_TO_STAGEイベントは、DisplayObject(またはそれ自体を含むツリー)がステージに追加されると、 DisplayObjectに対して送信されます

つまり、ドキュメントクラスにこのリスナーを登録した場合、自分自身がステージに追加されると、ドキュメントクラスに対して送信されるので、ステージが参照できるということ。

ドキュメントクラスはステージの子であるようなので、ステージには直接配置せず、ドキュメントクラスないし、その子のDisplayObjectに追加してあげるのが理想か。

ドキュメントクラスがステージに配置されるのは最初だけ。 ドキュメントクラスはステージオブジェクトの参照を持っておくほうが無難。 addToStage イベントが発行されるのは、リスナーを登録したクラスのコンストラクタが終わってから。

Loader クラスで他の swf を読み込んでも、 stage は共通。 Loader クラスで他の swf を読み込んだとき、読み込み元の DisplayObject がstage の子なら、Loader クラスインスタンスを DisplayObject に addChild() した時に、addToStage イベントが発行される(はず)。

Stage にはドキュメントクラスが子として配置されている。Stage 以下の DisplayObject を全て削除するということは、ドキュメントクラスのインスタンスも、削除されてしまう。

DisplayObject は、直接 Stage の子として扱わないほうがいい、と思う。たぶん。 配置する DisplayObject はあくまでドキュメントクラスの子として、もしくはそれが持つ DisplayObject の子として定義するのが自然だと、今の段階の私は思った。

0 件のコメント:

コメントを投稿