¿Acceder a una función dentro de un archivo .swf cargado?
¿Hay alguna manera de llamar a una función dentro de un archivo SWF cargado?
Básicamente, tengo un archivo .swf (A) que carga otro archivo .swf (B) ... Me gustaría tratar a B como si fuera cualquier otra instancia agregada a mi clase .swf "A" ...
Tiene que relanzar "Loader" con el nombre de su clase de archivo .swf:
Clase .swf cargada:
package src {
import flash.display.MovieClip;
public class LoadedSWF extends MovieClip {
public function LoadedSWF() {
}
public function helloWorld():void
{
trace("hello world from loaded swf!");
}
}
}
Clase principal:
package src {
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip {
private var loader:Loader;
public function Main() {
loadSWF("LoadedSWF.swf")
}
private function loadSWF(url:String):void {
var urlRequest:URLRequest = new URLRequest(url);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded, false, 0, true);
loader.load(urlRequest);
addChild(loader);
}
private function onLoaded(e:Event):void {
var target:LoadedSWF = e.currentTarget.loader.content as LoadedSWF;
trace(target);
target.helloWorld();
addChild(target);
}
}
}