Según la documentación de AS3, el evento INIT ocurre antes del COMPLETE
indicando que las propiedades del elemento ya están accesibles, pero hasta que
no lo haya añadido al displayList las propiedades de "root" y "stage" estarán
indefinidas, es decir, no tiene una ruta dentro de la película principal. Yo,
cuando tengo que inicializar un objeto yo le añado un listener para el evento
ADDED_TO_STAGE y cuando salta el evento, pregunta por su configuración que ya
estaba previamente cargada en un objeto XML en root. Saludos,Felipe Meirelles
_______________________
[EMAIL PROTECTED]
> From: [EMAIL PROTECTED]> Date: Thu, 9 Aug 2007 13:24:50 +0200> To:
> [email protected]> Subject: Re: [ASNativos] Donde esta mi Clip ??> > Buenas
> de nuevo !!!> Probé con el "as" y tambien con
> setElements(Theme_IF(ldr.content)) , > pero seguia tirandome el error de
> conversion.> > No he probado lo del Event.INIT, pero lo probaré :)> > En
> cuanto a los errores, fue lo primero que hice, quitar el strict > mode,
> incluso quite luego el warning mode, pero nada, tuve que meter > un par de
> "if" para que dejara de tirarmelos, todo xq un Array estaba > sin llenar y
> se piden datos de él.> > A parte de estos inconvenientes que se me van
> presentando, estoy > contentisimo con AS3, solo posteo "quejas" sobre el,
> pero hay que > reconocer que todo va mucho mas fino, y que el compiler
> aunque es un > "proteston" de las narices, ayuda infinitamente más que el
> anterior.> > Salu2!!> > Fede.> > > El 09/08/2007, a las 12:22, Joseba Alonso
> escribió:> > > Y luego esto no te funciona?> >> > setElements(ldr.content as
> Theme_IF)> >> > de todas maneras yo no usaria el Event.COMPLETE sino el
> Event.INIT. > > Tiene> > pinta de estar ahi el problema, en el COMPLETE el
> contenido se ha > > cargado> > pero no se ha inicializado, con el INIT ya
> deberia de estar listo para> > manipularlo.> >> > En cuanto a lo de los
> errores en tiempo de compilacion, puedes > > desactivarlos> > a nivel de
> documento desactivando la compilacion en strict mode > > (prefs de> > AS3).
> Pero no deberia darte problemas en tiempo de compilacion una> > referencia a
> un null, me parece raro...> >> > Un saludo,> >> > Joseba> >> > El día
> 9/08/07, Fede Rivas <[EMAIL PROTECTED]> escribió:> >>> >> Buenas a todos !!!>
> >>> >> Joseba :> >> No es necesario hacerlo Joseba, pero puedes hacerlo si
> quieres. Me> >> imagino que lo hago por "costumbre", y asi no posiciono el
> clip tras> >> cargarlo, pero como bien dices, no es obligatorio. En efecto,
> uso un> >> Loader :> >>> >> private function loadElement(destino:MovieClip){>
> >> ldr = new Loader();> >> var urlReq:URLRequest = new
> URLRequest(mytheme);> >> ldr.load(urlReq);> >>
> destino.addChild(ldr);> >>
> ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,> >> cargaCompleta);>
> >> }> >>> >> Felipe :> >> Tengo la clase bien definida, el problema ya he
> visto de donde viene,> >> y es que yo intentaba referenciar mi clip con la
> tipica ruta de> >> puntos, pero por la historia esta de los DisplayContainer,
> no me> >> funcionaba, y estaba tomando otro clip diferente al que tiene la>
> >> clase linkada.> >>> >> Al final, he tenido que cambiar bastante la cosa,
> pero ya lo tengo> >> funcionando. Lo que si pienso, que asi como AS3 ofrece
> muchas> >> ventajas y comodidades, tambien ofrece algunas "putadas" a las
> cuales> >> hay que acostumbrarse, pero es lo que comentamos, sera cuestion
> de> >> hacerse a ellas, ya se sabe, los humanos somos "maquinas de> >>
> costumbres" ...> >>> >> Por cierto, una cosa bastante cabreante, es que el
> compilador no> >> respeta algunas cosas, las cuales ocurren en tiempo de
> ejecucion.> >> Intento explicarme :> >>> >> Tengo tres clases, llamemosle A,
> B y C, las cuales, se ejecutan en> >> ese orden. Primero se instancia "A", en
> la cual obtengo mis settings> >> de la BD y los seteo en "B". La clase C,
> esta vinculada a un clip, y> >> se encuentra en un swf independiente ( es el
> que cargo ). Por ultimo,> >> "C" cuando se instancia, llama a "B", la cual ya
> tiene los datos que> >> previamente le pasó "A".> >>> >> Hasta aqui perfecto,
> pero cuando compilas el swf donde esta "C", el> >> compiler te tira errores,
> avisandote de que tienes "objetos nulos", y> >> es que claro, "B" aun no
> tiene los datos que debe pasarle "A", pues> >> esto ocurre en tiempo de
> ejecucion.> >>> >> Eso implica que tienes el compilador tirandote errores,
> que sabes que> >> no lo son, y si quieres que no te los tire, deberas ir
> dejando> >> algunos if por la clase "B" de manera que no te pase los datos si
> no> >> los tiene, aunque realmente esto no sea necesario.> >>> >> ¿ Alguna
> solucion para esto ?> >>> >> Gracias a todos como siempre.> >>> >> Salu2> >>>
> >> Fede.> >>> >> El 08/08/2007, a las 22:14, Felipe Meirelles escribió:> >>>
> >>>> >>> Hola Fede,Sobre el problema del mensaje del compilador, ¿no habrás>
> >>> definido tu objeto como MovieClip y no como "LaClase" que extiende> >>>
> de MovieClip e implementa Theme_IF? Lo digo por que he probado> >>> compilar
> algo parecido con lo que tienes sin problemas, estoy> >>> usando FlashDevelop
> 3 con el Flex2 SDK. Al principio me costaba> >>> bastante cambiar el chip de
> AS1/AS2 a AS3, ahora no entiendo como> >>> he podido trabajar todo este
> tiempo sin AS3... :-)Saludos,Felipe> >>> Meirelles> >>>
> _______________________> >>> [EMAIL PROTECTED]> >>>> From: [EMAIL PROTECTED]>
> Date: Wed, 8 Aug 2007 16:25:53 +0200> To:> >>>> [email protected]> Subject:
> Re: [ASNativos] Donde esta mi Clip ??> >>>>>> Buenas de nuevo ! Ante todo,
> gracias por tu respuesta Cay.> Me> >>>> dispongo a soltarte la parrafada,
> para que entiendas mas o menos> >>>>> el entorno donde tengo el problema,
> pues en el primer mensaje> >>>> he > intentado explicarlo lo mas aislado y
> sencillo posible.> >> >>>> Os cuento :> > Estoy construyendo una aplicación
> online, la cual> >>>> es "skineable". > Estos skins, estan en sus swf
> correspondientes,> >>>> los cuales cargo en > un momento dado, a partir de
> los datos de> >>>> configuracion que obtengo > de mi BD.> > En este swf que
> contiene> >>>> los elementos del skin, cada mc tiene una > clase vinculada,
> la> >>>> cual a su vez implementa un interface.> > La primera traba viene,>
> >>>> que no hay identificadores de clips como > antes, y debes> >>>>
> instanciarlos por el nombre de su clase, hasta aqui > bien, pero> >>>> al
> estar en una biblioteca distinta a la del swf > principal, no> >>>> tira, y
> tras probar y leer de todo, no he dado con el > kit de la> >>>> cuestion asi
> que ahora, estoy cargando directamente cada >> >>>> elemento del skin, en un
> mc vacío dentro de mi swf principal.> >> >>>> Funcionar funciona, de hecho
> los tengo ya en el escenario, pero> >>>> una > vez instanciados necesito
> llamar un método definido en la> >>>> clase > vinculada, que a su vez esta
> declarado en el interface,> >>>> dicho metodo > ajusta su tamaño, color, y
> otras propiedades.> >> >>>> Estoy registrando mis elementos en una clase
> aparte >> >>>> ( singletoneada ), que es la encargada de estos menesteres :>
> >> >>>> public function setElements(cont:Theme_IF){> > >>>>
> myContainers.push> >>>> (cont);> }> > Como veras, los recibo como elementos
> que> >>>> implementan la interface > ( Theme_IF ), pero ahora viene lo> >>>>
> gracioso, al llamar al metodo > correspondiente, el compilador me> >>>> tira
> el error de que no puede > convertir un elemento "MovieClip"> >>>> a
> "Theme_IF" ... El elemento en sí, > extiende de mc, e> >>>> implementa dicho
> interface.> > Haciendo pruebas y workarounds> >>>> varios, me di cuenta que
> accediendo > directamente al clip, si> >>>> funcionaba, pero en cuanto los
> cargo en su > mc vacio, pierdo> >>>> toda referencia a ellos, ya que como te
> comentaba, > el nuevo> >>>> sistema de Display hace cosas bastante raras, o
> mejor dicho, > no> >>>> se usarlo correctamente por lo que veo.> > Sigo con
> ello, pero de> >>>> verdad que esto es bastante cabreante, algo > que con
> AS2 se> >>>> hacia sobre la marcha, me esta haciendo perder > muuuucho> >>>>
> tiempo...> > ¿ Se os ocurre algo ?> > Salu2> > Fede.> > > El> >>>>
> 08/08/2007, a las 15:34, Cay escribió:> > > mira este codigo:> >>> >>>>> var
> A=new MovieClip();> > A.B=new MovieClip();> > A.addChild> >>>> (A.B);> >
> addChildA);> > trace(A.B);> >> > Tenemos A, y definimos> >>>> B como
> propiedad de A, asi, podriamos > > referirnos> > a B como> >>>> A.B.> > Es
> guarrisimo, pero lo uso para ilustrarte que ahora un mc> >>>> es una> >
> variable, que deberas registrar y conservar en alguna> >>>> parte para> >
> referirte a el... mediante sus> >>>> DisplayObjectContainers, solo podras> >
> buscar clips mediante> >>>> getChildAt, getChildByName, etc... osea, que si>
> > cargas un clip,> >>>> este clip deberia registrar a sus "hijos publicos" >
> > como> >> >>>> propiedades, para que desde tu peli padre puedas referirte a>
> >>>> ellos, en> > vez de bucear con getChilds....> > Igual te toca> >>>>
> replantearte algunas cosas.... digamos, como ejemplo un> > poco> >>>> burdo,
> que lo que cargas es un player mp3, y lo que quieres es> >> >>>> mover el
> slider de volumen... entonces en vez de hacer:> >> >>>>
> playermp3.interface.volumen.barra.cabezal.y=100;> > Pues> >>>> declararas una
> funcion setVolumen() dentro del player, y haces >> >>>>> algo> > asi:> >
> playermp3.setVolumen(40);> >> > Saludos, y> >>>> espero se entienda algo... o
> que alguien con mas > > experiencia>> >>>>> en AS3 pueda explicarlo mejor
> ^^> > Si quieres explicanos de> >>>> forma mas concreta lo que quieres hacer,
> y te> > damos un ejemplo> >>>> mas a medida ;)> >> >> > Fede Rivas escribió:>
> >> Continuando con> >>>> la "pelea" con AS3, me topé ayer con algo realmente>
> >>> >>>> "mosqueante"> >>> >> Antes, estaba claro como saber "donde" estaba>
> >>>> exactamente un mc.> >> Hacias un simple trace("this") y te> >>>>
> devolvia un sencillo> >> "_root.clip1.clip2.myclip" por poner un> >>>>
> ejemplo.> >>> >> Ahora, con el mismo trace, te devuelve " [object> >>>>
> MovieClip] "....> >>> >> Dando vueltas a la cosa, tienes tu> >>>> propiedad
> name, con la que> >> obtienes el nombre del clip, pero> >>>> nada más.> >>>
> >> He encontrado varias funciones, que se encargan> >>>> de obtener dicha> >>
> "ruta" del clip, pero parece haber un> >>>> problema. Esto no funciona en> >>
> un swf cargado, pues toma como> >>>> referencia su DisplayContainer, y no> >>
> te devuelve la referencia> >>>> de la ruta completa, unicamente la ruta del>
> >> clip dentro de ese> >>>> swf ....> >>> >> Todo esto viene, a que no puedo
> acceder a él, de> >>>> la manera habitual,> >> contenedor.myclip.x = lo q sea
> , ya que> >>>> probando, he visto que flash> >> interpone unas instancias de>
> >>>> pormedio, no entiendo porque, si ejecuto> >> el metodo que os> >>>>
> comento obtengo algo como :> >>> >>>>
> "contenedor.instance238.instance263.myclip"> >>> >> No se si he> >>>>
> conseguido explicarme correctamente, ya que la situacion> >> se me> >>>> hace
> realmente absurda ...> >>> >> Alguien ha encontrado una> >>>> solucion valida
> a este problema ?> >>> >> Trabajar con los> >>>> DisplayObjects, esta siendo
> un autentico> >> infierno ......> >>>> Imagino que sera cuestion de
> acostumbrarse ....> >>> >> Gracias de> >>>> antemano,> >>> >> Salu2!> >>> >>
> Fede.> >>> >>> >>>> ----------------------------------------------------->
> >>> >>>> ASNativos> >> www.5dms.com> >> subscripciones/desubscripciones> >>>
> >>>> http://asnativos.5dms.com> >>> >>>>
> -----------------------------------------------------> >>> >>> >>> >>>>>>>
> -----------------------------------------------------> >> >>>> ASNativos> >
> www.5dms.com> > subscripciones/desubscripciones> >> >>>>
> http://asnativos.5dms.com> >> >>>>
> -----------------------------------------------------> >> > >> >>>>
> -----------------------------------------------------> ASNativos>> >>>>
> www.5dms.com> subscripciones/desubscripciones> http://asnativos.> >>>>
> 5dms.com> -----------------------------------------------------> >>>
> _________________________________________________________________> >>>
> Express yourself instantly with MSN Messenger! Download today it's> >>>
> FREE!> >>> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/>
> >>> -----------------------------------------------------> >>> ASNativos> >>>
> www.5dms.com> >>> subscripciones/desubscripciones> >>>
> http://asnativos.5dms.com> >>>
> -----------------------------------------------------> >>>> >>> >>> >>
> -----------------------------------------------------> >> ASNativos> >>
> www.5dms.com> >> subscripciones/desubscripciones> >>
> http://asnativos.5dms.com> >>
> -----------------------------------------------------> >>> >
> -----------------------------------------------------> > ASNativos> >
> www.5dms.com> > subscripciones/desubscripciones> > http://asnativos.5dms.com>
> > -----------------------------------------------------> >> > >
> -----------------------------------------------------> ASNativos>
> www.5dms.com> subscripciones/desubscripciones> http://asnativos.5dms.com>
> -----------------------------------------------------
_________________________________________________________________
With Windows Live Hotmail, you can personalize your inbox with your favorite
color.
www.windowslive-hotmail.com/learnmore/personalize.html?locale=en-us&ocid=TXT_TAGLM_HMWL_reten_addcolor_0607
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------