Código :
#include "mc_tween2.as"
//*********************************************************************************************************
// este codigo debe ir primero que las funciones de cada botón,
// para que el compilador los tenga definidos para cuando lo usas en la definición de los botones
//*********************************************************************************************************
this.activateItem = function(item) {
// función que activa el botón.
// Verifica si hay otro boton activado anteriormente, si es así entonces lo desactiva
if (this.currentItem != false) this.deActivateItem(); // aqui desactiva el boton anteriormente presionado
// Activa finalmente el boton presionado
this.currentItem = item; // aqui guarda el ultimo botón presionado
this.currentItem.gotoAndStop(this.currentItem._totalframes); // se detiene en el ultimo frame de la animación
this.currentItem.enabled = false; // deshabilita el boton, así no responde a los eventos del mouse
};
this.deActivateItem = function() {
// desactiva el ultimo boton activado
this.currentItem.enabled = true; // vuelve a responder a los eventos del mouse
// se elimina el efecto tween, por ya estar implementado
this.currentItem.atras = true; // prende el switch para iniciar animación alreves
this.currentItem = undefined;
};
this.stop();
//*********************************************************************************************************
// aqui se definen las funciones de tus botones (que deben ser movieclips)
//*********************************************************************************************************
var myButtons = [this.b1, this.b2, this.b3, this.b4, this.b5]; // estos deben ser movieclips, NO botones
var atras:Boolean = false; // esto no es necesario
for (var i=0; i<myButtons.length; i++) {
myButtons[i].atras:Boolean = false; // debes hacer referencia a una variable del botón.
myButtons[i].onRollOver = function() {
this.gotoAndPlay(2);
};
myButtons[i].onRollout = myButtons[i].onReleaseOutside = function() {
this.atras = true; // prende switch para iniciar animación alreves
};
myButtons[i].onEnterFrame = function():Void {
// esta funcion se define para cada botón
if (this.atras) { // hacer rreferencia a una variable del boton
this.prevFrame();
if (this._currentframe == 1) this.atras = false; // termina animación alreves
}
}
myButtons[i].onRelease = function() {
this._parent.activateItem (this);
}
} // aqui se cierra la llave
Con este codigo estoy suponiendo que:
--> el estado en reposo es el frame uno de cada boton
--> el estado RollOver, inicia la animación en el frame 2 hasta el frame final de cada boton
--> el estado RollOut, inicia la animación en reversa desde el ultimo frame, hasta el primero, para dejarlo en reposo
--> el estado activo es el ultimo frame de cada boton.
si no es esto lo que quieres, entonces explica cada estado de tu boton.