2007/12/31
AS3:addChildのタイミング
年末です。
DisplayContainerをつくり、その中に更にDisplayObjectを入れます。
このとき、コンテナがステージに配置されたのを確認し、
続いてその中にスプライトなどを置く、と、タイミングを計って配置していきます。
すると妙なことが起こります。
DisplayContainerをつくり、その中に更にDisplayObjectを入れます。
このとき、コンテナがステージに配置されたのを確認し、
続いてその中にスプライトなどを置く、と、タイミングを計って配置していきます。
すると妙なことが起こります。
コード
出力結果
なぜか、onAdded_contentが2度呼ばれます。
2007年を締めくくるクエスチョンです。
どなたか!
package {
import flash.display.Sprite;
import flash.events.Event;
public class addremove extends Sprite
{
public var content:Sprite;
public var container:Sprite;
public function addremove()
{
container = new Sprite();
container.addEventListener(Event.ADDED_TO_STAGE, onAdded_container);
content = new Sprite();
content.graphics.beginFill(0xffff00, 1);
content.graphics.drawCircle(100, 100, 10);
content.addEventListener(Event.ADDED_TO_STAGE, onAdded_content);
addChild(container);
}
private function onAdded_container(e:Event):void
{
trace("onAdded_container");
container.addChild(content);
}
private function onAdded_content(e:Event):void
{
trace("onAdded_content");
}
}
}
出力結果
onAdded_container onAdded_content onAdded_content
なぜか、onAdded_contentが2度呼ばれます。
2007年を締めくくるクエスチョンです。
どなたか!
コメント一覧