博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
舞台上加载一外部SWF,舞台如何调用该swf内部方法
阅读量:7137 次
发布时间:2019-06-28

本文共 1532 字,大约阅读时间需要 5 分钟。

hot3.png

可以使用getDefinitionByName方法,也可以用ApplicationDomain的getDefinition方法,提供获取Class的方法如下:

public function getClass(className:String, domain:ApplicationDomain = null):Class {if (domain == null) {domain = ApplicationDomain.currentDomain;}if (domain.hasDefinition(className)) {return domain.getDefinition(className) as Class;}return null;}var obj:Object = getClass("Called");obj.method();

一个Flash中通过AS3代码的Loader对象加载另一个SWF文件,并访问其中的文档类中的方法。

简单示例:

主文件:Main.fla, Main.as

被调用的文件:called.swf, Called.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.as

package{  import flash.display.Sprite;  public class Called extends Sprite{  }  public function method():void{trace("Called对象中的method方法被调用了");  }}

---------------------输出结果-------------------------

Called对象中的method方法被调用了

值得提出注意的地方是obj.method(); 中的“.method(); ”是不能通过代码编辑器提示显示的。

如果希望能够在代码编辑器中显示,可以在主文件中增加一个接口类,并把加载的loader.content强制转换成该接口类的一个实例。

如var obj:CalledInterface=loader.content as CalledInterface;

其中CalledInterface是在主文件中定义的一个拥有被调SWF文档类的公开方法的接口类。这样就可以在代码编辑器中看到提示的方法了。

转载于:https://my.oschina.net/changsheng/blog/127984

你可能感兴趣的文章
ABP官方文档翻译 1.4 启动配置
查看>>
js框架简明
查看>>
Java volatile 关键字
查看>>
http 头信息详解
查看>>
ATS项目更新(4) 更新DLL到远程服务器
查看>>
mac 多显示器焦点快速切换
查看>>
第六周学习进度报告
查看>>
nginx发布静态网页
查看>>
Hadoop 面试题之一
查看>>
有关方法重载的实例(例4-10)
查看>>
用数组模拟邻接表
查看>>
**Git中的AutoCRLF与SafeCRLF换行符问题
查看>>
Android布局文件layout.xml的一些属性值
查看>>
三种new
查看>>
多项式与三角函数求导——BUAA OO 第一单元作业总结
查看>>
VsCode 格式化插件配置
查看>>
JAVA 23种开发模式详解(代码举例)
查看>>
Windows上搭建Flume运行环境
查看>>
Linux系统排查4——网络篇
查看>>
文件操作
查看>>