ActionScript/Propagação do evento
Origem: Wikilivros, livros abertos por um mundo aberto.
Através deste exemplo, iremos ver como aplicar um evento a todos os objetos de um recipiente. Esse comportamento é conhecido como bubbling (propagação), que é quando o ActionScript percorre toda a hierarquia de objetos em um grupo para descobrir o verdadeiro alvo do evento.
Criamos container e guardando dentro os sprites sp1 e sp2. Adicionando ao container recipiente os eventos de mouse, cada objetos específico do recipiente irá aceitar um evento. Em outras palavras, quando arrastamos o mouse selecionado em sp1, só ele será arrastado, apesar de o listener de evento ter sido adicionado a container.
var container:Sprite = new Sprite(); addChild(container); var sp:Sprite = new Sprite(); desenheCirculo(sp, 0x9900AA); sp.x = sp.y = 100; container.addChild(sp); var sp2:Sprite = new Sprite(); desenheCirculo(sp2, 0x00AA00); sp2.x = sp2.y = 200; container.addChild(sp2); container.addEventListener(MouseEvent.MOUSE_DOWN,onDown); container.addEventListener(MouseEvent.MOUSE_UP, onUp); function onDown(evt:MouseEvent):void { evt.target.startDrag(); } function onUp(evt:MouseEvent) :void { stopDrag(); } function desenheCirculo(obj:Object, col:uint):void { var g:Graphics = obj.graphics; g.beginFill(col, 1); g.drawCircle (0, 0, 40); g.endFill(); }