Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/09/2005, 04:32
clinisbut
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
esto me funciona en un swf, pero cargandolo desde otro swf no::Solucionado

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;	
}

Última edición por clinisbut; 14/09/2005 a las 01:08 Razón: Solucionado