Auf eine Funktion in einer geladenen .swf-Datei zugreifen?
Gibt es eine Möglichkeit, eine Funktion in einer geladenen SWF-Datei aufzurufen?
rundsätzlich habe ich eine .swf-Datei (A), die eine andere .swf-Datei (B) lädt ... Ich möchte B einfach so behandeln, als wäre es eine andere Instanz, die meiner Klasse .swf "A" hinzugefügt wurde ...
Müssen "Loader" mit dem Namen Ihrer .swf-Dateiklasse neu gefasst werden:
Loaded .swf Klasse:
package src {
import flash.display.MovieClip;
public class LoadedSWF extends MovieClip {
public function LoadedSWF() {
}
public function helloWorld():void
{
trace("hello world from loaded swf!");
}
}
}
Hauptklasse
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);
}
}
}