Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2013, 14:19
david22h
 
Fecha de Ingreso: mayo-2013
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta tengo problemas con tween plugin array

hola estoy desde hace dias con un problema de as3 tengo este código que funciona con mis botones, pero cuando quiero agregar nuevos botones que funcionen como
siguiente y atras me marca errores o me descomponen toda la accion. ya estoy un poco desesperado y no se como arreglarlo. gracias

Código actionscript:
Ver original
  1. import com.greensock.*;
  2. import com.greensock.easing.*;
  3. import com.greensock.plugins.*;
  4.  
  5.  
  6. TweenPlugin.activate([ScalePlugin]);
  7.  
  8. //primero hago una matriz donde colocare los movie clips que quiero que aparezcan, estos actuaran como diapositivas
  9. var clips_arr:Array = [image1, image2, image3, image4, image5, image6, image7, image8, image9, image10, image11, image12, image13, image14, image15, image16, image17, image18, image19, image20, image21];
  10.  
  11. //ahora la matriz funciona como un indice de aparicion, cuando tengo botones que quiero que vayan a un movieclip especifico los relaciono
  12. inicio_final.image1_btn.ID = 0;
  13. inicio_final.image21_btn.ID = 20;
  14. //image1 = 0, image2 = 1... es como cuando entras a un hotel y te recibe primero recepcion luego planta 1 etc..
  15.  
  16. inicio_final.buttonMode = true;
  17.  
  18. //ponemos las funciones (over y out son los brillitos del boton) como tengo mis botones dentro de otro movie clip basta con animar el mc contenedor
  19. inicio_final.addEventListener(MouseEvent.CLICK, crossFade);
  20. inicio_final.addEventListener(MouseEvent.MOUSE_OVER, btnOver);
  21. inicio_final.addEventListener(MouseEvent.MOUSE_OUT, btnOut);
  22.  
  23. //crossfade hara que el boton vaya al movieclip que ya espcificamos arriba mediante la variables currentClip thisBtnsMovie
  24. //this variable stores a reference to the currently visible clip
  25. var currentClip:MovieClip = clips_arr[0];
  26.  
  27. function crossFade(e:MouseEvent):void{
  28.    
  29.     //create a reference to the movieclip related to the button you just clicked
  30.     var thisBtnsMovie:MovieClip = clips_arr[e.target.ID]
  31.     trace(thisBtnsMovie.name);
  32.     //make sure the currentClip isn't related to the button you just clicked
  33.     if(currentClip != thisBtnsMovie){
  34.        
  35.         //con esto current clip desaparecera cuando cambie de boton
  36.         //hide the current clip
  37.         TweenLite.to(currentClip, .5, {autoAlpha:0, scale:0, ease:Quad.easeIn});
  38.        
  39.         //con esto el clip aparecera en forma de zoon
  40.         //show the clip related to the btn you just pressed
  41.         TweenMax.fromTo(thisBtnsMovie, .8, {scale:1}, {autoAlpha:1, scale:1, delay:.2});
  42.         }      
  43.        
  44.     //ahora esto funciona sobre los movie clips y no sobre los frame asi que si tengo en el fotograma 1 60 layers y mi movieclip esta en el 35 el boton solo hara aparecer el movieclip, entonces si yo quiero que otros elementos se sigan viendo como un banner u otros botones los meto en un addchild
  45.     //acomoda los addchild por orden ejemplo si current clip que es una diapositiva y abarca todo el escenario lo pusiera al final, me taparia los botones cuando realize la animacion
  46.     //reset currentClip to reflect the clip related to the button you just clicked 
  47.     currentClip = thisBtnsMovie;   
  48.     addChild(currentClip);
  49.     addChild(fondo);
  50.     addChild(inicio_final);
  51.     addChild(back_next);
  52.     addChild(botones_flechas);
  53.    
  54.     //mi problema es que quiero hacer nuevos botones pero que estos recorran toda la matriz y no un movieclip en especifico (click va aimage1 otro click y va a image2...) si alguien me puede ayudar se lo agradeceria mucho
  55.  
  56.     }
  57.  
  58. function btnOver(e:MouseEvent):void{
  59.     TweenMax.to(e.target, .5, {tint:0xffffff});
  60.     }
  61.    
  62. function btnOut(e:MouseEvent):void{
  63.     TweenMax.to(e.target, .5, {tint:null});
  64.     }