ActionScript/Propagação do evento

Origem: Wikilivros, livros abertos por um mundo aberto.
Ir para: navegação, pesquisa

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();
}

[editar] Ver também

Ferramentas pessoais
Espaços nominais

Variantes
Acções
Navegação
Projecto
Imprimir/exportar
Ferramentas