`
xiaotian_ls
  • 浏览: 300258 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex中对swf文件的操作

    博客分类:
  • Flex
阅读更多

第一类:  Flex中操作 fla格式或as格式文件生成的swf;

相关代码如下

<mx:SWFLoader id="swfLoader" source="[加载的swf文件]" complete="swfComplete(event)" />

private var swfObj:Object;

private function swfComplete(evt:Event):void{

     //对swfObj赋值,通过操作swfObj来控制加载的swf文件;

     swfObj = SWFLoader(evt.target).content;

}

 

 

第二类: Flex中操作 mxml格式生成的 swf;

<mx:SWFLoader id="swfLoader" source="[加载的swf文件]" complete="swfComplete(event)" updateComplete="swfUpdateCom(event)" />

private var swfObj:Object;

private var swfSM:SystemManager;

private function swfComplete(evt:Event):void{

     swfSM = SystemManager(SWFLoader(evt.target.content));

     //在这里不能直接对 swfObj进行赋值,因为此时 swfSM.application 的值为 null;

}

private function swfUpdateCom(evt:Event):void{

     //对swfObj赋值,通过操作swfObj来控制加载的swf文件;

     if(swfSM!=null && swfObj==null){

           swfObj = swfSM.application;

     }

     //假如要在子swf中调用主swf函数需要在 子swf中设置一个Object类型的变量,给此变量赋值

     if(swfObj!=null){

           // _parentObj 是子swf中变量,可以通过它来调用主swf属性及函数;

           swfObj._parentObj = this;

     }

}

 

操作加载swf文件的前提:知道swf文件内的公有属性和方法名;

 

 

Flex中使用Flash类库中的元件

 

private var swfUrl=""; //库资源地址

private var ui:UIComponent =  new UIComponent();

private var loader:Loader = new Loader();

private var context:LoaderContext =  new LoaderContext();

private function init():void{

     //指定为当前域;

     context.applicationDomain=ApplicationDomain.currentDomain;

     //加载外部的swf库 loader.load()中的第2个参数 用来确定是否能使用加载的SWF中的库;    

     loader.load(new URLRequest(swfurl), context);  

     loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);  

}

private function onComplete(evt:Event):void{

     //得到类

     var classByName:Class = ApplicationDomain.currentDomain.getDefinition("元件名" ) as Class;  

      var mc:MovieClip = new classByName(); //从库中导出资源

     mc.x = 300;

     mc.y = 300;

     //添加到场景中;

     ui.addChild(mc);

     this.addChild(ui);

}

 

 

 在加载 swf 过程中 会出现 内存泄露的情况;

 解决方法:

 swfLoader.unloadAndStop(); //加载前先卸载;

 System.gc();  //调用垃圾回收方法;

 

 如有不当之处请批评指正。

 

转载自:http://greenexe.javaeye.com%2Fblog%2F911299

分享到:
评论

相关推荐

    Flex控制swf简单源码

    一个简单的flex加载外部swf文件并对其进行操作的源码程序

    flex实现的bullBreaker小游戏(flash swf版本)

    很久之前无聊的时候用flex实现的一个BullBreaker小游戏,点击小球可消除周围同色小球,可以回滚操作至起始状态。swf格式的可以直接在视频播放器中打开来玩,也可以打开html文件在浏览器中玩(需要flash支持)。

    flash(swf)加密、混淆、添加水印小软件

    DoSWF是一款针对flash(swf)进行加密、混淆、添加水印等操作的绿色免安装软件。支持最新的flash10、alchemy以及flex4所编译出来的swf文件

    PDF2SWF Pages Suite V8最新版安装程序

    转换过程一键生成,无需任何人工对文档进行解析操作。 相对于旧版本,所有 V8 中使用的文档阅读器全部采用 Adobe 最新版的 Flex + AS3 开发,具有较高的性能优势;V8 中的使用的文档阅读器也全部针对现在主流的液晶...

    flex3的cookbook书籍完整版dpf(包含目录)

    从SWF文件中嵌入皮肤 9.15节.编程实现组件应用皮肤 9.16 节. 编程实现状态控件的皮肤 9.17 节. 从SWF 文件中生成动态皮肤 9.18 节. 自定义引导界面 第十章. 拖拽操作(360) 10.1.节使用DragManager 类 10.2 节指定...

    Flash Develop中文版

    FlashDevelop是基于微软的.net技术开发的一款FLASH IDE!...FLEX SDK(SWF文件编译器) Java 1.6+(对FLEX SDK提供功能支持) 以上三个软件配置完成后您就可以正常使用您的FlashDevelop中文版软件了

    在Flex中发布地图 程序报错 SecurityError: Error #2048: 安全沙箱冲突,只需要下载添加这个就可以

    真正解决我问题的操作是这样的,在安装 arcgis后,C:\Inetpub\wwwroot\ArcGis\rest\的下面有个crossdomain.xml,把这个文件复制到C:\Inetpub\wwwroot的下面就可以了。 或者直接下载文件复制到里面就可以解决。

    Flash_cs3、Flex与asp、php通信总结(包含数据库)

    看到flash和asp文件时面变量名就知道相互是怎么传送的呢,对于数据库的一些插入,更新,查询的操作,只要接收flash的数据,直接运行asp相关数据库操作命令就行了.直接复制到IIS的路径下即可测试.在线观看地址:...

    yuetai_vip_release.zip yinyuetai.com vip

    依次展示如何使用 Flex Air 的 ServerSocket 和 Socket 实现简化版本的 HTTP 服务器,以及如何加载外部的 SWF 文件并进行操作。 在 mplayer.swf 内部,使用 FlasCC 集成 C 代码做保护。使用了 Hessian 做对象序列化...

    ActionScript开发人员指南中文版

    从导入到安全域的SWF文件加载嵌入内容 使用旧内容 设置LocalConnection权限 控制外出URL访问 共享对象 摄像头、麦克风、剪贴板、鼠标和键盘访问 AIR安全性 第章:如何使用ActionScript示例 示例类型 在...

    ActionScript开发技术大全

    8.2.3在FlexBuilder3中进行调试 155 8.3处理ActionScript3.0中的异常 160 8.3.1使用try…catch…finally语句 160 8.3.2throw语句主动抛出异常 162 8.3.3处理异常事件 163 8.4异常类型 163 8.4.1异常对象 164 8.4.2...

    helium-webcam:使用无Chrome和浮动浏览器窗口 Helium 显示截屏视频中固定的网络摄像头的简单页面

    我从一个获得了该文件,因为我真的不想下载 Flex 并制作它。 要使用它,只需按照以下简单步骤操作: ; 将粘贴到 Helium 上; (optional)默认情况下,窗口将为 320x240。 如果要更改宽度并保持比例,请按“s”...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

    vc代码合集

    2012-06-11 09:50 3,412,722 内部文件非内部程序员禁止访问谢谢1234567890123456789能够实现文件的多选,统一上传,从而实现文件的批量上传Flex多文件上传源码VS2005.rar 2012-06-11 10:08 1,481,225 几个C语言小...

    Maven权威指南 很精典的学习教程,比ANT更好用

    本例中所用的技术 7.2. simple-parent项目 7.3. simple-model模块 7.4. simple-weather模块 7.5. simple-persist模块 7.6. simple-webapp模块 7.7. 运行这个Web应用 7.8. simple-command模块 7.9. 运行这...

Global site tag (gtag.js) - Google Analytics