flex (actionscript)用 swf 实现 动态类库(dll)
发布时间:2020-12-15 04:36:48 所属栏目:百科 来源:网络整理
导读:在以下代码中,一个类被赋予公共 Class 属性 circleClass ,同时可以将该 Class 属性作为主 Library 类的一个属性加以引用: package { import flash.display.Sprite; public class Library extends Sprite { public var circleClass:Class = Circle; public
在以下代码中,一个类被赋予公共 Class 属性 package { import flash.display.Sprite; public class Library extends Sprite { public var circleClass:Class = Circle; public function Library() { } } } import flash.display.Shape; class Circle extends Shape { public function Circle(color:uint = 0xFFCC00,radius:Number = 10) { graphics.beginFill(color); graphics.drawCircle(radius,radius,radius); } } ? ? 另一个 SWF 文件可以加载生成的 Library.swf 文件,然后实例化 Circle 类型的对象。 下面的示例演示一种可以访问子 SWF 文件资源的方法。 (其它技术包括使用 package { import flash.display.Sprite; import flash.display.Shape; import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; public class LibaryLoader extends Sprite { public function LibaryLoader() { var ldr:Loader = new Loader(); var urlReq:URLRequest = new URLRequest("Library.swf"); ldr.load(urlReq); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded); } private function loaded(event:Event):void { var library:Object = event.target.content; var circle:Shape = new library.circleClass(); addChild(circle); } } } ? ? 以上文字出自官方文档, 由此我们可以实现一些动态链接库的功能。 应用场景:我们要提供给客户的是一个swc类库,现在需要给这个swc打补丁。 我们可以把部分代码封装到一个swf文件中, 如果我们要更新客户端,只需覆盖swf文件 就可以了,不需要重新编译swc类库。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |