MouseEvent の target
忘れそうなのでメモ。
container という空の Sprite に circle という Sprite を配置して、container の MouseEvent を取得すると、ターゲットの値が circle になってしまう。
MouseEvent - ActionScript 3.0 コンポーネントリファレンスガイド:
ネストされたノードが関係する場合、マウスイベントは、表示リストで確認できる最も深くネストされたノードをターゲットにします。
このターゲットを container にするには、container の mouseChildren プロパティを fasle に設定すればよい。
var container:Sprite = new Sprite();
container.name = "container";
addChild(container);
var circle:Sprite = new Sprite();
circle.name = "circle";
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(40, 40, 40);
container.addChild(circle);
container.mouseChildren = false;
container.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent):void
{
trace(event.target.name); // container
}
