estoy preparando una aplicación en la flash lee un archivo XML, crea una serie de tarjetas y las \"lanza\" dentro del escenario como una animación (como si repartiese cartasm, aunque el asunto no vaya por ahí).
El tema es que hasta ahora me ha funcionado muy bien, porque lo tenía todo programado dentro de la película principal, pero por temas de comodidad estoy intentando crear una clase externa.
Y ahí surge el problema ¿porqué una sentencia simple como addChild(), que siempre funcionó bien, falla ahora?, dando el mensaje:
1180: Call to a possibly undefined method addChild.
He probado a importar todas las librerías de flash (a lo bruto), pero ni con esas. Os dejo el código de mi clase externa:
Código :
package
{
import flash.display.*
import flash.errors.*
import flash.events.*
import flash.external.*
import flash.filters.*
import flash.geom.*
import flash.media.*
import flash.net.*
import flash.profiler.*
import flash.system.*
import flash.text.*
import flash.ui.*
import flash.utils.*
import flash.xml.*
public class nonamaeAS
{
public function lanzar (archivoXML:String):void
{
var cargador:URLLoader = new URLLoader();
cargador.load(new URLRequest(archivoXML));
cargador.addEventListener(Event.COMPLETE, mostrarTarjetas); //Cuando se acaba de cargar el XML, empieza la fiesta
}
public function mostrarTarjetas(e:Event):void {
var proyectos:XML = new XML(e.target.data); //Cojemos los datos del archivo y los tratamos como XML
for (var i:Number = 0; i < proyectos.tarjeta.length(); i++) {
var tarjeta:MovieClip = new MovieClip();
tarjeta.name = \\\"tarjeta\\\"+i;
tarjeta.graphics.beginFill(0xFFFFFF);
tarjeta.graphics.drawRoundRect(0, 0, proyectos.tarjeta[i].ancho.text(), proyectos.tarjeta[i].alto.text(),15,15);
tarjeta.graphics.endFill();
tarjeta.x = Math.ceil(Math.random()*640);
tarjeta.y = 200;
addChild(tarjeta); // EL ERROR LO DA ESTA LLAMADA, PERO SOLO, COMO EN ESTE CASO, CUANDO LA USO DESDE UNA CLASE EXTERNA
}
}
}
}
Perdonad si quedó tan grande el código, no sé si se puede colorear en el foro.
Agradecería alguna sugerencia sobre qué debería hacer, porque llevo buscando en google ya un buen rato y no encuentro nada ¿a alguien más le ha pasado?
Gracias de antemano.
