如何通过AS3加载外部SWF文件,调用外部文件文档类的方法?
一个Flash中通过AS3代码的Loader对象加载另一个SWF文件,并访问其中的文档类中的方法。
简单示例:
主文件:Main.fla, Main.as
被调用的文件:called.swf, Called.as
主文件Main.as:
package{
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
public class Main extends Sprite{
private var loader:Loader;
public function Main(){
loader = new Loader();
loader.load(new URLRequest("called.swf"));
loader.contentLoadInfo.addEventListener(Event.Complete, loadComplete);
}
private function loadComplete(e:Event):void{
var obj:Object = loader.content; // 通过loader.content获取Called类对象,并赋值给Object对象
obj.method(); //调用Called对象的method方法
}
}
}
---------------------输出结果-------------------------
Called对象中的method方法被调用了
--------------------------------------------------------
被调用文件: Called.as
package{
import flash.display.Sprite;
public class Called extends Sprite{
}
public function method():void{
trace("Called对象中的method方法被调用了");
}
}