Comunidad de diseño web y desarrollo en internet online

problema con tween y array de botones

Citar            
MensajeEscrito el 28 Ene 2010 03:55 pm
hola muchachos hice este codigo para generar 6 botones partiendo de un array y un mc

Código ActionScript :

///BOTONERA
botones._visible = false;
var i:Number;
var nombres:Array = new Array("Contacto","Niveles Educativos","Actividades Complementarias","Necesidad de Personal","Inscripciones","Reseñas");
var paginas:Number = nombres.length;

for( i = 0; i < paginas; i++ )
{
   botones.duplicateMovieClip("botones" + i, i+1);
   this["botones" + i]._x = botones._x + 130  * i;
   this["botones" + i]._y = botones._y;
   this["botones" + i].txt_txt = nombres[i];
   this["botones" + i].no = i;
}


hasta alli todo cool; el problema viene porque quiero aplicar un tween en _x cosa q cuando reprodusca mi peli se vea la botonera entrar en escena de derecha a izquierda; hice esto pero no me funciono

Código ActionScript :

import mx.transitions.Tween;
import mx.transitions.Tween.easing.*;

var boton = this["botones" + i]

var red:Tween = new Tween(b_red,"_x",Elastic.easeOut,-800,0,1/2,true);

red.onMotionFinished = function(){
   
   var black:Tween = new Tween(b_bla,"_x",Elastic.easeOut,800,0,1/2,true);
   
   black.onMotionFinished = function(){
      
      var b:Tween = new Tween(boton,"_x",Elastic.easeOut,800,0,1,true);
   }
}


una ayudita por fis; el codigo completo es asi

Código ActionScript :

import mx.transitions.Tween;
import mx.transitions.Tween.easing.*;

var boton = this["botones" + i]

var red:Tween = new Tween(b_red,"_x",Elastic.easeOut,-800,0,1/2,true);

red.onMotionFinished = function(){
   
   var black:Tween = new Tween(b_bla,"_x",Elastic.easeOut,800,0,1/2,true);
   
   black.onMotionFinished = function(){
      
      var b:Tween = new Tween(boton,"_x",Elastic.easeOut,800,0,1,true);
   }
}

///BOTONERA
botones._visible = false;
var i:Number;
var nombres:Array = new Array("Contacto","Niveles Educativos","Actividades Complementarias","Necesidad de Personal","Inscripciones","Reseñas");
var paginas:Number = nombres.length;

for( i = 0; i < paginas; i++ )
{
   botones.duplicateMovieClip("botones" + i, i+1);
   this["botones" + i]._x = botones._x + 130  * i;
   this["botones" + i]._y = botones._y;
   this["botones" + i].txt_txt = nombres[i];
   this["botones" + i].no = i;
}
function change_page(no)
{
   for( i = 0; i < paginas; i++ )
   {
      this["botones" + i].bg1._visible = true;
      this["botones" + i].bg2._visible = false;
   }
   this["botones" + no].bg1._visible = false;
   this["botones" + no].bg2._visible = true;
   _root.page = no + 1;
   _root.play();
}
change_page(0);



Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 28 Ene 2010 09:08 pm
Si haces un trace al principio de la variable botones, verás que está indefinida:

Código ActionScript :

var boton = this["botones" + i];
trace(boton);


Ya que la variable "i" no existe y todavía no se han creado los botones, lo mejor es que dentro del ciclo que los crea apliques la animación:

Código ActionScript :

var boton:MovieClip;

for (i=0; i<paginas; i++) {
   
   boton = botones.duplicateMovieClip("botones" + i, i + 1);
   boton._x = botones._x+130*i;
   boton._y = botones._y;
   boton.txt_txt = nombres[i];
   boton.no = i;
   
   applyTween(boton);
   
}

function applyTween(movie:MovieClip):Void{
   
   var red:Tween = new Tween(movie,"_x",Elastic.easeOut,-800,0,1/2,true);
   
}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 29 Ene 2010 01:26 pm
hice lo q me dijiste pero todos los botones salen amontonados unos sobre otros haciendo un solo tween y ya :'( ayuda

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 29 Ene 2010 04:03 pm
No es eso, lo que pasa que debes con cada función enviar los parámetro de las coordenadas a donde quieres que vayan, de lo contrario todos irán al mismo sitio, en este caso desde -800 hasta 0.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 29 Ene 2010 04:47 pm
entonces como seria? un tween por cada boton o como?

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 30 Ene 2010 12:15 am
Sería como te mostré anteriormente en el código (un Tween por cada botón), la única diferencia es que debes enviar a la función aparte del botón que vas a animar las coordenadas a las que tiene que dirigirse.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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