Hace tiempo creo que publiqué algo parecido. Será cuestión de buscar en el foro.
Basicamente debes crear un movieclip con todas las animaciones (
reposo,
pulsado y
saliendo) separando cada una con sentencias stop(). Despues dentro del mismo sprite colocas un botón invisible (sin relleno por ejemplo) que será el que se encargue de gestionar el estado del sprite: al pasar sobre el boton, le indicas al sprite que vaya al frame donde se inicia la animación correspondiente etc. Al seleccionar una opción(al pulsar el botón) asignas/defines una variable (_root, _global o como quieras) que indica que opción se ha pulsado (por ejemplo en el
onSelfEvent(load) de cada sprite puedes definir una variable llamada opcion=1, 2 etc ) y que nos indica si debemos gestionar los eventos para ese botón. Más o menos sería algo así
(código del botón)
CÓDIGO
on(rollOver){
// Comprueba si esta opción NO esta ya seleccionada
if(_root.opcion != this.opcion){
// Realizamos animación
this.gotoAndPlay("OVER");
}
}
on(rollOut){
// Comprueba si esta opción NO esta ya seleccionada
if(_root.opcion != this.opcion){
this.gotoAndPlay("OUT");
}
}
on(release){
// Comprueba si esta opción NO esta ya seleccionada
if(_root.opcion != this.opcion){
_root.opcion = this.opcion;
this.gotoAndPlay("HIT");
}
}
donde las etiquetas OVER, OUT y HIT indican el frame de inicio de las correspondientes animaciones que deberas haber creado.
También podrías desactivar el botón una vez seleccionado:
CÓDIGO
on(release){
// Comprueba si esta opción NO esta ya seleccionada
if(_root.opcion != this.opcion){
_root.opcion = this.opcion;
enabled = false; // Anulamos el botón
this.gotoAndPlay("HIT");
}
}
o simplemente desactivando el cambio de tipo de cursor (de puntero a mano) con
CÓDIGO
on(release){
// Comprueba si esta opción NO esta ya seleccionada
if(_root.opcion != this.opcion){
_root.opcion = this.opcion;
useHandCursor = false; // :-)
this.gotoAndPlay("HIT");
}
}
Te recomiendo que empieces a mirar algo de script, porque solo con efectos de la línea de tiempo estarás siempre muy limitado.
Ya nos dirás.
Salu2