`
steely816
  • 浏览: 129368 次
  • 性别: 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();  //调用垃圾回收方法;

 

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

分享到:
评论

相关推荐

    关于flex与flash生成swf文件的加载(体积)问题

    这篇文章将深入探讨关于使用Flex和Flash生成SWF文件时所遇到的加载(体积)问题。SWF是Adobe Flash Player用于播放多媒体内容的文件格式,它包含了动画、交互式图形以及声音等多种元素。 首先,我们需要理解Flex和...

    Flex控制swf简单源码

    在Flex应用中,我们经常需要动态加载外部的SWF文件,以实现模块化设计或者扩展功能。加载SWF文件的核心在于使用`Loader`类,它是AS3中的一个核心组件,负责加载各种类型的媒体资源,包括SWF文件。 以下是一段基本的...

    Flex控制SWF播放

    要在Flex项目中嵌入SWF文件,我们需要使用`mx.controls.VideoDisplay`或`mx.core.MovieClip`组件。例如: ```xml &lt;mx:MovieClip id="swfPlayer" source="@Embed('path/to/your.swf')"/&gt; ``` 2. **访问SWF的...

    flex jsp 嵌套 swf html

    本文将详细解析如何在JSP页面中嵌套使用Flex生成的SWF文件来创建自定义的系统拓扑图。 首先,Flex是一种基于ActionScript的开放源代码框架,用于构建具有交互性和动态效果的RIA。它允许开发者创建美观且功能丰富的...

    Flex控制外部引用SWF的播放进度源码

    本文将深入探讨如何在Flex中实现对引入SWF文件播放进度的控制。 首先,我们要明白Flex是Adobe推出的一种开源的、基于ActionScript 3.0的富互联网应用程序(RIA)框架。它允许开发者构建跨平台的桌面和移动应用程序...

    swf.rar_flex_maven 编译flex_maven flex pom_maven flex 编译_swf开发

    5. **编译和运行项目**: 使用Maven的`mvn compile`命令,插件会自动调用Flex SDK的编译器将源代码编译为SWF文件。如果配置正确,生成的SWF文件应该位于`target`目录下。 6. **测试和部署**: Maven还可以帮助你执行...

    flex 多文件上传

    至于“swfweb”这个文件名,可能是压缩包中的一个相关文件,它可能是一个SWF文件,即Flash Player可执行的内容,用于在浏览器中展示Flex应用程序。在多文件上传的场景下,这个SWF文件可能包含了Flex编译后的用户界面...

    FLEX效果展示的SWF

    描述中提到的“实现FLEX的效果展示”,意味着这些SWF文件是为了演示Flex如何实现各种动态效果和视觉增强功能。通过这些文件,开发者可以观察并学习如何应用不同的Filter(滤镜)效果,以改变UI元素的外观。滤镜是...

    swf-file-format-spec.pdf.zip_flex_swf

    Flex使用MXML和ActionScript来创建用户界面,编译后的结果就是SWF文件,可以在各种浏览器和操作系统上运行,无需安装额外插件。 `swf-file-format-spec.pdf` 这份文档可能涵盖了以下关键知识点: 1. **文件结构**...

    flex调用swf——swf可以转成具体的对象,而非MovieClip

    在本文中,我们将深入探讨如何在Flex应用中调用SWF文件,并将其转换为特定的对象,而不仅仅是作为MovieClip处理。在Flex开发中,我们经常需要集成外部的SWF资源,例如库或自定义组件,这通常是通过ActionScript实现...

    Flash加载swf文件的沙箱问题

    这些函数可以让运行在网络沙箱中的SWF放宽对特定域的权限,从而允许加载来自该域的SWF文件。但需要注意的是,这种方法可能会降低安全性,因此应谨慎使用。 在标签“源码”中,我们可以查看到`LoadEmbedFont.as`文件...

    FLEX中文帮助文件

    发布Flex应用通常涉及SWF文件的生成和服务器配置。SWF是Flex应用的运行形式,可以通过Flex Builder或其他构建工具生成。发布时还需要考虑跨浏览器兼容性和安全性问题。 总的来说,Flex中文帮助文件是学习和掌握...

    Flash课件制作教程-加载SWF文件

    本教程将重点讲解如何在Flash中加载SWF文件,这是一项关键的技术,能够帮助开发者实现课件之间的交互性和资源共享。下面将详细阐述这一过程。 首先,SWF全称为"Small Web Format",是Adobe Flash的文件格式,用于在...

    Flex vs2005多文件上传源码

    3. `FileUpload.html`:这是Flex应用程序的HTML容器,可能包含了嵌入Flex SWF文件的代码,使得用户可以在浏览器中运行Flex应用。 4. `AC_OETags.js`:Adobe Flash Player的外部接口(External Interface)支持文件,...

    Flex multiple file uploader (Flex多文件上传范例)

    在“bin-debug”目录下,通常包含编译后的SWF文件以及可能的资源文件,这些是Flex应用的运行版本。而“src”目录则包含了源代码,包括ActionScript类文件和可能的MXML布局文件。在这里,你可以找到实现多文件上传...

    flex中文帮助文档

    5. 发布:编译并发布SWF文件,部署到Web服务器或作为桌面应用。 八、Flex的优势 1. 跨平台:Flex应用可以在运行Flash Player或Adobe AIR的多种操作系统和浏览器上运行。 2. 高度交互:提供丰富的用户体验,包括动态...

    解决swf文件复制到另外的电脑上打不开的问题

    5. **操作系统差异**:不同的操作系统(如Windows、Mac OS)可能对SWF文件的支持程度不同,或者需要特定的软件才能播放。确保目标系统支持SWF格式是解决问题的一部分。 6. **调试工具**:压缩包中的"flashplayer_10...

    Flex button和buttonBar的操作

    至于提供的`Menu.fla`和`Menu.swf`文件,它们很可能是Flex项目的源文件和编译后的SWF文件。`fla`文件是Adobe Flash的专业编辑格式,包含了所有的图形、动画和交互逻辑;而`swf`文件是最终发布到Web上的可执行文件,...

Global site tag (gtag.js) - Google Analytics