Hace poco me he puesto a repasar as2 y estoy intentando hacer un menú en carrusel con 4 botones de diferentes colores.
Los botones (mc) tienen 2 capas de acciones para un fade-in y fade-out en 10 fotogramas:
en la capa superior, primer fotograma:
onRollOver=function(){
onEnterFrame=function(){
if(_currentframe!=10){
nextFrame();
}else{
stop();
delete this["onEnterFrame"];
}
}
}
onRollOut=function(){
onEnterFrame=function(){
if(_currentframe!=1){
prevFrame();
}else{
stop();
delete this["onEnterFrame"];
}
}
}
en la capa de debajo, 2 fotogramas clave al inicio y final con un stop(); en cada uno de ellos.
Cada movieclip que contiene los botones, tiene un nombre de vinculación: boton1, boton2, etc.
En la escena principal, tengo un solo fotograma con una capa de acciones desde la cual llamo a los mc y se ponen a girar sobre una elipse:
stop();
var botones:Number = 4;
var incr:Number = ( 2 * Math.PI ) / botones;
var amp_x:Number = 270;
var amp_y:Number = 60;
var eje_x:Number = Stage.width / 2;
var eje_y:Number = Stage.height / 2;
var speed:Number=0.05;
for ( i = 0; i < 5; i++){
_root.attachMovie( "boton" + i, "boton" + i, 4 + i);
ref = _root["boton" + i];
ref.angle = incr * i;
ref.onEnterFrame = mover;
}
function mover(){
this._x = Math.cos(this.angle) * amp_x + eje_x;
this._y = Math.sin(this.angle) * amp_y + eje_y;
var s = this._y /(eje_y+amp_y);
this._xscale = this._yscale = s*100;
this.angle += this._parent.speed;
this.swapDepths(Math.round(this._xscale) + 100);
}
El problema es que si me pongo sobre cualquier boton, se reproduce la animación del fade. Pero el botón se detiene y cuando quito el ratón de encima se queda parado. ¿Alguien puede decirme que tengo que hacer para que cuando me ponga encima con el ratón los botones sigan girando?