flex - una - php orientado a objetos pdf
¿Cómo puedo instanciar una clase desde un swf? (2)
Echa un vistazo aquí ; debería poder extraer una referencia de clase utilizando Loader.contentLoaderInfo.applicationDomain.getDefinition ("MyClass").
Tengo un archivo FLA con objetos en la biblioteca que he configurado para que sean "clases" (en CS3, haga clic con el botón derecho en un elemento de las propiedades de selección de la biblioteca, asegúrese de que esté configurado para exportar para actionscript y tenga un nombre de clase)
Para este ejercicio, llamemos a la clase "MyClass"
Si publico ese FLA en un SWC y SWF:
Puedo cargar el SWC estáticamente y crear una instancia de "MyClass" simplemente haciendo:
var inst: MyClass = new MyClasS ();
Ahora, el problema: me gustaría poder hacer esto en tiempo de ejecución cargando el archivo SWF usando un objeto de cargador.
Entiendo cómo acceder a las instancias que se crearon a mano en el FLA antes de publicarlas, pero lo que quiero hacer es crear nuevas instancias de la clase "MyClass".
Puedo obtener un "MovieClip" que represente el archivo swf, puedo agregarlo a mi lista desplegable, pero parece que no puedo acceder a las clases que contiene. (Espero que esto tenga sentido)
Cualquier sugerencia sobre cómo atacar esto sería muy apreciada.
Para completar la respuesta de Christian:
var cls : Class = loader.contentLoaderInfo.applicationDomain.getDefinition("ClassName");
var instance : Object = new cls();
Además, vale la pena señalar que no obtendrá un tipeo fuerte (es decir, debe declararse como Objeto) a menos que la clase implemente una interfaz que también esté definida en su aplicación principal. Luego podrá declarar la variable de instancia como la interfaz y tener acceso en tiempo de compilación a sus miembros.