В следующем коде, если я нажму на кнопку, будут вызваны все три функции.
Но во всех остальных случаях срабатывает только этап.
Почему событие «спрайт» не сработало?
public class EventFlowTest extends Sprite
{
private var button:Sprite;
public function EventFlowTest()
{
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
stage.addEventListener(MouseEvent.MOUSE_DOWN,stageMouseDown,false);
graphics.beginFill(0x11);
graphics.drawCircle(100,100,100);
addEventListener(MouseEvent.MOUSE_DOWN,spriteMouseDown,false);
button=new Sprite();
addChild(button);
button.graphics.beginFill(0xF1);
button.graphics.drawCircle(100,100,10);
button.addEventListener(MouseEvent.MOUSE_DOWN,buttonMouseDown,false);
}
private function spriteMouseDown(e:MouseEvent):void
{
trace("sprite");
}
private function stageMouseDown(e:MouseEvent):void
{
trace("stage");
}
private function buttonMouseDown(e:MouseEvent):void
{
trace("button");
}
}