davidpadua
12/3/2013 - 12:58 AM

Deselect previous button

Deselect previous button

var currentButton:MovieClip;//variável do button current clicado
 
button1.addEventListener(MouseEvent.CLICK, buttonClick);
button2.addEventListener(MouseEvent.CLICK, buttonClick);
button3.addEventListener(MouseEvent.CLICK, buttonClick);
button4.addEventListener(MouseEvent.CLICK, buttonClick);

function buttonClick(event:MouseEvent):void {

//se a variável current button tiver valor

    if (currentButton) {
	//coloca activo e visível o button anteriormente clicado
        currentButton.alpha = 1;
        currentButton.mouseEnabled = true;
    }
    //faz o casting e muda a variável currentButton para o button que é clicado no momento
    currentButton = event.target as MovieClip;

    trace(currentButton.name);

    //faz o que tem a fazer (neste caso acrescenta texto)
    output.appendText(currentButton.name + "\n");
    output.scrollV = output.maxScrollV;
    
    //põe o button clicado no momento inactivo
    currentButton.alpha = 0.7;
    currentButton.mouseEnabled = false;
}

//NOTA: o "truque" aqui é a posição da linha --->> currentButton = event.target as MovieClip; que vem depois de colocarmos visível o valor do currentButton anterior. Ou seja, só mudamos o valor da variável currentButton DEPOIS de activarmos o anterior.