B�sicamente, la explicaci�n m�s t�cnica es la siguiente:

Cuando haces un loadMovie sobre un clip, este se vacia entero. Todas las
propiedades y eventos que le hayas a�adido se pierden. Una vez que ha
cargado el primer frame Flash hace mas o menos esto:

1- Reaplica todas las propiedades de pel�cula (las que comienzan por '_'
como '_height')
2- Asocia una clase asociado a ese tipo de datos. Si no hay ninguna definida
en el la biblioteca usa MovieClip.
3- Se aplican todos los eventos definidos en onClipEvent
4- Se instancia la clase y se llama al constructor
5- Se dibuja en pantalla

Una vez se ha cargado el �ltimo frame y se han instanciado de la misma
manera todos los clips hijos, se llama al evento onLoad.

Dado este sistema es imposible asignar el evento onLoad en una instancia y
esperar que salte en un onLoad tras una carga via loadMovie, lo m�ximo que
puedes hacer es usar el onClipEvent, como ya has comprobado.

Si no quieres usarlo, cosa comprensible, tienes 2 opciones:

1- Utilizar otro objeto que no se vea afectado por el loadMovie para
controlar la carga. Por ejemplo, un MovieClipLoader, otro MovieClip o
cualquier otro objeto con un setInterval.

2- Asignar una subclase de MovieClip al s�mbolo de la biblioteca y definir
en el evento onLoad, como la clase se aplica, l�gicamente, antes de la
instanciaci�n, saltar�. Pero lo veo poco pr�ctico hacer una subclase de MC
solo para tener el onLoad, si lo �nico que necesitas es eso, utiliza el
m�todo 1.

Yo tambi�n tard� mucho tiempo en comprender todo este "misterio" ;)

Un saludo,

P.D: En el caso de los componentes un simple
addEventListener("load",funcion) deber�a de valer, el resto ya lo controla
directamente el framework.

Joseba Alonso
www.5dms.com
www.sidedev.net 

> -----Mensaje original-----
> De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En
> nombre de Carlos Terradillos Guti�rrez
> Enviado el: martes, 29 de marzo de 2005 23:10
> Para: [email protected]
> Asunto: Re: [ASNativos] No se dispara el evento onLoad programando en
> frame
> 
> A m� me pasa algo parecido con los componentes de datos: no hay modo de
> asignarles un listener para el onLoad y hay que programarlos
> directamente sobre el componente y no sobre el frame.
> 
> �...?
> 
> El 29/03/2005, a las 21:09, Javier Fern�ndez escribi�:
> 
> >  Hola, a ver si me podeis dar una soluci�n a este problemilla que no
> > es gran
> > cosa pero me come la cabeza cada vez que me pasa:
> >
> > Haciendo la programaci�n en frame, como mandan los canones, no soy
> > capaz de
> > detectar los eventos onLoad de los mcs.
> > Pongo algo tan sencillo como esto:
> > C�digo:
> > objeto.onLoad=function(){
> >    trace("cargado");
> > };
> >
> > Y se lo pasa, por ah�... no lo detecta. La l�gica me dice que puede
> > ser que
> > cuando defino la funci�n el mc no se ha creado, pero co�o, si la creo
> > despu�s ya no es un onLoad ...
> >
> > No es un gran problema porque tiene una soluci�n tan sencilla como no
> > programarlo en el frame, sino sobre el mismo mc. Otra opci�n que he
> > encontrado es poner al mc un onClipEvent (load) vac�o, entonces si lo
> > detecta y aplica la funcion definida en el frame...
> >
> > Pero algo me dice que eso es una �apa, o dos.
> >
> > �alguna sugerencia?
> >
> > ----------------------------------
> > Lista ASNativos:[email protected]
> > http://www.5dms.com/listas
> > ----------------------------------
> >
> 
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a