Comunidad de diseño web y desarrollo en internet online

error con this.root.loaderInfo.parameters

Citar            
MensajeEscrito el 18 Ene 2011 03:25 pm
Hola!
me está surgiendo un problema que no sé cómo solucionar, no paro de darle vueltas y no hay manera:
intento cargar el varlor de config:

Código HTML :

    <param name="FlashVars" value="config=ing" />

y para ello utilizo el siguiente código en un archivo externo .as

Código ActionScript :

var config:String = this.root.loaderInfo.parameters.config;

Pero no hay manera de que funcione. Si pongo este código en el primer frame del archivo .fla sí que puedo cargarlo pero en el .as me da un mensaje de error y no tengo ni idea de cómo solucionarlo. ¿alguien puede decirme algo por favor? Estoy bastante perdida, y de toda los post y tutoriales que he visto en ninguno está el código en el .as externo.
Gracias por la ayuda de antemano. !

Por elhada.teresika

27 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ene 2011 03:26 pm
El mensaje de error es:
Acceso a una propiedad root posiblemente no definida mediante una referencia con tipo estático Class.

Por elhada.teresika

27 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ene 2011 05:02 pm
¿qué es root?

Para un objeto de visualización en un archivo SWF cargado, la propiedad root es el objeto de visualización de nivel más alto en la parte de la estructura de árbol de la lista de visualización representada por dicho archivo SWF.

En otras palabras, NO EXISTE root hasta que no hayamos añadido nuestra clase al stage. Para ello habrá que añadir un Listener en nuestra función constructora.
Vamos, que una Clase de documento normalmente será de la forma

Código ActionScript :

package 
{
   import flash.display.Sprite;
   import flash.events.Event;
   public class Main extends Sprite 
   {
      //Variables que necesitemos
      public function Main():void 
      {
         if (stage) init();
         else addEventListener(Event.ADDED_TO_STAGE, init);
      }
      
      private function init(e:Event = null):void 
      {
         removeEventListener(Event.ADDED_TO_STAGE, init);
                        //aquí ya podremos acceder a root y a todo lo que queramos
      }
      
   }
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ene 2011 06:32 pm
GRACIAS Eliseo, no te puedes imaginar la de tiempo que le he echado a esto y jamás hubiera llegado a eso.
Cuando he visto que funcionaba casi lloro, te lo juro.

Este código me ha pillado de sorpresa, pero eso sí, creo que he aprendido más en estos dos días que en todo el año pasado! y lo que me queda !!

de nuevo gracias!

Por elhada.teresika

27 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.