Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/11/2010, 06:16
polo_W12
 
Fecha de Ingreso: enero-2008
Ubicación: Concepción, Chile
Mensajes: 76
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Funcion Tween as2

Cita:
Iniciado por molinojopiento Ver Mensaje
Muchachos, duda:

Tengo un Mc, la instancia que se llama cuadrado.

import mx.transitions.Tween;
elastico = mx.transitions.easing.Elastic.easeOut;
var uno = new Tween(cuadrado, "_x", elastico,0, 250, 100, false);


Todo lindo, quiero saber si puedo acortar mi codigo, porque quiero poner 10 MC por ejemplo, osea cuadrado1, 2,3,4,5,6,7....... entonces me kedaria algo asi:

import mx.transitions.Tween;
elastico = mx.transitions.easing.Elastic.easeOut;
var uno = new Tween(cuadrado, "_x", elastico,0, 250, 100, false);
var dos = new Tween(cuadrado2, "_x", elastico,0, 250, 100, false);
var tres = new Tween(cuadrado3, "_x", elastico,0, 250, 100, false);


Cual es la forma de acortarlo, se me ocurre que creando una funcion...puede ser?
Amigo a pesar que actionscript es un poco desordenado podrías ordenarlo de la siguiente manera.

Código ACTIONSCRIPT:
Ver original
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3.  
  4. //cantidad de clips
  5. var total:Number    = 6;
  6. //nombre de instancias obviamente deben tener en común
  7. var nombre:String   = "movie";
  8.  
  9. desplaza(total, nombre);
  10.  
  11. function desplaza(a:Number, b:String):Void{
  12.     var i:Number        = 0;
  13.     for(i=0; i<a; i++){
  14.         var clip:MovieClip  = eval(b+i);
  15.         var d:Tween = new Tween(clip, "_x", Elastic.easeInOut, 0, 250, 1, true);
  16.                                 //agrega un listener para detectar detención
  17.         d.addListener(clip);
  18.                                 //agrega una funcion que será la que recibe el clip que se detuvo
  19.         clip.onMotionFinished = fin    
  20.     }
  21. }
  22.  
  23. function fin(a:Tween):Void{
  24.     trace(this._name);
  25. }

Espero haberte sido de ayuda.

Saluda Atte.
Claudio Barrera Asencio.