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.