AS3加载操作swf
2015-11-28 17:44
393 查看
好久没写AS3了。。好多东西都忘了。。这记忆啊。。醉了
随着程序越来越大,我们需要把它拆分成多个swf,在需要的时候动态加载。拆分时应该尽量把不同的类编译进唯一的swf,避免因swf文件增多而使整个程序的文件尺寸增大。按此原则可以拆分出以下两种swf,借助 ApplicationDomain 共享其代码和资源。
* 模块(Module)
按照程序逻辑,可以拆分出多个“功能模块”,如“注册”、“管理”等等;按照游戏或社区类程序的关卡或场景,可以拆分出不同的“场景模块”。这些模块不是主程序运行必须的,只在需要的时候加载。
* 运行时共享库(RSL)
主场景或者多个模块通用的资源,比如位图、声音、设计好的页面元素等,可作为“库”在主程序运行前加载。可以整套更换的皮肤(skin)只需先加载一套。
ApplicationDomain 是存放AS3定义(包括类、方法、接口等)的容器。使用Loader类加载swf时可以通过指定 ApplicationDomain 参数将swf加载到不同的域(Domain)
随着程序越来越大,我们需要把它拆分成多个swf,在需要的时候动态加载。拆分时应该尽量把不同的类编译进唯一的swf,避免因swf文件增多而使整个程序的文件尺寸增大。按此原则可以拆分出以下两种swf,借助 ApplicationDomain 共享其代码和资源。
* 模块(Module)
按照程序逻辑,可以拆分出多个“功能模块”,如“注册”、“管理”等等;按照游戏或社区类程序的关卡或场景,可以拆分出不同的“场景模块”。这些模块不是主程序运行必须的,只在需要的时候加载。
* 运行时共享库(RSL)
主场景或者多个模块通用的资源,比如位图、声音、设计好的页面元素等,可作为“库”在主程序运行前加载。可以整套更换的皮肤(skin)只需先加载一套。
ApplicationDomain 是存放AS3定义(包括类、方法、接口等)的容器。使用Loader类加载swf时可以通过指定 ApplicationDomain 参数将swf加载到不同的域(Domain)
package { import flash.display.Loader; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; import flash.system.ApplicationDomain; public class AS1te extends Sprite { public var url:String = "arenaMC.swf"; public var arr:Array; public var domain:ApplicationDomain; public var loader:Loader; public function AS1te() { this.url=url; loader=new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplement); loader.load(new URLRequest(url)); } private function onLoadComplement(evt:Event):void{ domain=new ApplicationDomain(); domain = evt.currentTarget.applicationDomain; trace(check("ArenaListMC")); } private function check(name:String):Boolean { var result:Object; var rr:Boolean; if(domain.hasDefinition(name)){ rr=true; var cls:Class=domain.getDefinition(name) as Class; result=new cls(); } var ui:MovieClip=result as MovieClip; //这里可取出swf中的某个MovieClip,对他进行操作 this.addChild(ui); return rr; } } }
相关文章推荐
- N皇后问题
- UINavigationController设置导航栏属性
- C++ const
- ANT多渠道打包
- Happy Number
- LintCode 二叉树路径求和
- Add Binary
- 关于用指针方式访问二维数组的问题
- UML学习:机房收费系统-对象图
- 新测 thinkphp3.2 整合 PHPMailer 发送邮件
- Objective-C Delegate
- 南通大学教务管理微信体验
- 【Leetcode】N-Queens
- 第一部分、十道海量数据处理面试题
- 非主流自然语言处理——遗忘算法系列(三):分词
- Activity常用跳转效果
- kaldi学习笔记之卷积神经网络(CNN)
- 简单登入模块
- Android 屏幕水平、垂直使用不同的布局xml文件
- I2C总线简介