Me he montado un codigo que aplica un efecto de onda a un texto.
Funciona perfectamente, pero deja de funcionar cuando la pelicula que contiene
el efecto la cargo desde otra (mediante loadMovie() )
(osea desde main.swf cargo efecto.swf y no funciona, pero ejecutando efecto.swf directamente si).
Uso eval() para evitar tener que liarme con _this, _parent y demás y (creia) que tambien para evitarme este tipo de problemas.
aqui dejo el codigo de los tres fotogramas que forman el efecto
fotograma 1->Inicializo todo
d= un mc que contiene un texto dinamico donde va alojada cada letra
destino= un mc que marca la posicion x final
Código:
if(!texto) //el texto lo asigno dsde fuera del movieClip
texto="mensaje";
d._visible=false;
destino._visible=false;
t = 0;
longtext=texto.length;
spacing = 20;
ystart = d._y;
ancho=d._width;
n = 0;
if(!veces)
{ veces=0;
}
k=0; //contador para las veces q se repite el pase del texto ondeando
if(!velx)
velx=0.5;
if(!sentido)
sentido="D";
//esto de aqui me lo monté para fijar un sentido a la onda
if(sentido=="D")
{ xstart = d._x-(longtext*spacing);
xfinish=destino._x;
coordx=d._x;
coordy=d._y;
}
else
{ xstart = destino._x+(n*spacing)+10;
xfinish=d._x;
coordx=destino._x;
coordy=destino._y;
}
desp=xstart;
//creo las letras
while (n <= longtext)
{ d.duplicateMovieClip("d"+n,n);
if(sentido=="D")
{ eval("d"+n)._x=desp+n*spacing;
}
else
{ eval("d"+n)._x=desp+n*spacing;
}
eval("d"+n)._y=ystart;
eval("d"+n).letter=texto.charAt(n);
n = n + 1;
}