Flex加载swf的几种方法
发布时间:2020-12-15 00:57:11 所属栏目:百科 来源:网络整理
导读:Flex加载swf的几种方法 Flex中通常会使用一些动画,这些需要借助flash的时间轴才可以创建。前面讲过两种方式: 1. 由Flash编译,由Flex写AS,通过库中元件的链接类调用。查看 2. 由Flash导出SWC,由Flex导入SWC。查看 这篇文章讲述使用外部swf的方式。 加载
Flex加载swf的几种方法 Flex中通常会使用一些动画,这些需要借助flash的时间轴才可以创建。前面讲过两种方式: 加载方式有很多,这里介绍两种,一种Embed,一种是Loader。 下面是具体实现,通过四种方式加载外部fishmomo.swf。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()" xmlns:local="*" > <fx:Declarations> <!-- Place non-visual elements (e.g.,services,value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Image; import mx.controls.SWFLoader; import mx.core.MovieClipAsset; import mx.core.UIComponent; private var swfLoader:SWFLoader = new SWFLoader(); private var loader:Loader = new Loader(); [Embed(source="assets/fishmomo.swf")] [Bindable] public var FFish:Class; public function init():void{ /** * 使用loader动态加载 * 可以降低初次加载的文件量,可以显示加载进度 * SWFLoader是对Loader的封装,可直接使用addElement */ //SWFLoader swfLoader.addEventListener(Event.COMPLETE,swfLoadComplete); swfLoader.load("assets/fishmomo.swf"); //Loader loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadComplete); loader.load(new URLRequest("assets/fishmomo.swf")); /** * 下面使用Embed * 使用Embed的方式,swf中不能有形变动画 * 具体原因未知 */ //使用Image,可以使用mxml<image source="{FFish}" /> var image:Image = new Image(); image.source = FFish; addElement(image); //使用MovieClip var movieClip:MovieClip = new FFish() as MovieClip; var ui:UIComponent = new UIComponent(); ui.addChild(movieClip); ui.x = 200; addElement(ui); } private function swfLoadComplete(e:Event):void{ addElement(swfLoader); swfLoader.x = 200; } private function loadComplete(e:Event):void{ var ui:UIComponent = new UIComponent(); ui.addChild(loader); addElement(ui); ui.x = 100; } ]]> </fx:Script> </s:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |