Is there a way to call a function inside a loaded SWF file?
Basically, I have a .swf file (A) that loads another .swf file (B) ... I would just like to process B as if it were some other instance added to my .swf class " A "...
You need to redo "Loader" with the name of your class .swf file:
Loaded .swf class:
package src { import flash.display.MovieClip; public class LoadedSWF extends MovieClip { public function LoadedSWF() { } public function helloWorld():void { trace("hello world from loaded swf!"); } } }
Main class:
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); } }
}
source share