Estoy realizando un menú dinámico en movimientos no en cargas de datos, aqui dejo la muestra http://toba3009.iespana.es/Menu.html, solamente funciona el boton negro como dije en el Asunto a la primera pasada va todo como yo mas o menos como yo quiero que se comporte, pero a la segunda vez que voy a seleccionar el botón negro no me funciona llevo un par de dias liado con ello pero que va, se me tiene que escapar algo, aqui os pongo el codigo gracias.
Codigo Primer fotograma:
Código :
Veloc = .08;
onEnterFrame = function() {
Veloc = ((_xmouse - 300)/300) * .02;
}
//Funcio para cargar los botoens.
function CargarBotones (){
// Cantidad de elementos
cant = 3;
// Ángulo de diferencia
incr = (2*Math.PI)/cant;
//Coloco los botones en el escenario.
for(i=0;i<cant;i++) {
this.attachMovie(\\\\\\\"Menu\\\\\\\"+i,\\\\\\\"Menu\\\\\\\"+(i),100+i);
referencia = this[\\\\\\\"Menu\\\\\\\"+(i)];
trace(referencia);
// Definimos la variable angulo para cada elemento
referencia.angulo = incr*i+1;
}
}
//Cargo los botones
CargarBotones();
Menu2.onRelease = function(){
var MoverAx = 50;
var MoverAy =385;
//Donde esta el boton
if (_root.Menu2._y >=MoverAy){
for(e=0;e<cant;e++){
// Si el boton es en descanso elimino todos los botones
removeMovieClip(\\\\\\\"Menu\\\\\\\"+e);
}
// y los vuelvo a cargar
CargarBotones();
return;
}else{
//Detenemos los botones.
delete _root.Menu0.onEnterFrame;
delete _root.Menu1.onEnterFrame;
delete _root.Menu2.onEnterFrame;
_root.Menu0.ReflejoAzul._visible=false;
_root.Menu1.ReflejoRojo._visible=false;
//Nos vamos de viaje para Abajo.
MoverAbajo =function(Boton){
if (Boton._y >= MoverAy){
_root.Menu2._yscale= 100;
_root.Menu2._xscale= 100;
clearInterval(VigilAbajo);
return;
}
//Boton._x -= Velocidadx;
trace(Math.floor(Boton._y += 4));
_root.Menu0._alpha -= 5;
_root.Menu1._alpha -= 5;
updateAfterEvent();
}
VigilAbajo=setInterval(MoverAbajo,30,_root.Menu2);
//Nos vamos de viaje para la izquierda
MoverIzquierda =function(Boton){
if (Boton._x <= MoverAx){
//trace(Boton._x);
clearInterval(VigilIzquierda);
MoverArriba();
return;
}
trace(Math.floor(Boton._x -= 10));
i++;
trace(i);
//trace(Boton._x)
//Boton._y += Math.round( Velocidady);
updateAfterEvent();
}
VigilIzquierda=setInterval(MoverIzquierda,30,_root.Menu2);
}
}Codigo en cada boton:
Código :
// Ejes de movimiento
eje_x = 300;
eje_y = 250
// Amplitud del movimiento
amp_x = 200
amp_y =40;
onEnterFrame = function() {
this._x = (Math.cos(angulo)*amp_x) + eje_x;
this._y = (Math.sin(angulo)*amp_y) + eje_y;
this._yscale = this._xscale = (this._y - 100)*.5 + 20;
angulo += _root.Veloc;
if((angulo+_root.Veloc)>(2*Math.PI)) {
angulo += _root.Veloc - (2*Math.PI);
} else if((angulo+_root.Veloc)<0) {
angulo += _root.Veloc + (2*Math.PI);
} else {
angulo += _root.Veloc;
}
grado = int((angulo/Math.PI)*180);
if ( grado>=0 && grado<=90 ) {
this.swapDepths(4000+grado);
}
if (grado>90 && grado<=180){
this.swapDepths(3000-grado);
}
if (grado>180 && grado<=270) {
this.swapDepths(2000-grado);
}
if (grado>270) {
this.swapDepths(1000+grado);
}
}
Un saludo para toda la comunidad, y gracias.
