Comunidad de diseño web y desarrollo en internet online

No me funciona a la segunda pasada

Citar            
MensajeEscrito el 10 May 2008 09:25 am
Hola chic@s, a ver quien me puede ayudar:

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.

Por Toba

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 May 2008 11:39 am
Bueno ya solucione el problema, expongo la solución que he encontrado, no se si es la mejor pero funciona, aqui lo dejo por si le sirve a alguien:
He creado un nuevo fotograma en este caso el Ftg.2 con la funcion nextFrame(), insertada en el la siguiente parte del codigo.
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);}
//this.gotoAndStop(\"2\");
nextFrame(); //NUEVA LINEA

//CargarBotones();
// y los vuelvo a cargar


}else{

Supongo que el problema estaba en que no se cargaba de nuevo el Menu2.onRelease = function(){, con la función nextFrame(), me desplazo a otro al siguiente fotograma que en el he puesto la función prevFrame() la cual me desplaza al ftg.1 y me vuelve a cargar todas las variables.

Por Toba

10 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.