可以使用SWFLoader和Loader两个类来加载子应用程序,多数情况下我们使用SWFLoader。它是Loader的一个包装类,提供了很多附加功能,使加载子应用程序更简单。
SWFLoader有如下特征:
支持flex的样式和特效;而Loader类却不支持任何固有的样式和特效。
方便管理加载进度;如果使用Loader则首先要获取LoaderInfo引用。
是一个UIComponent组件。SWFLoader它自己管理了所有子显示对象,不需要添加多余的代码。
自动缩放显示内容的大小
可以加载Application以外的实现类,如果检测到不是一个Application,会自动进行处理。
可以处理不同的版本。Loader不支持加载不同的编译版本
当使用Loader加载不是受信任区域的swf时,必须提供一个遮罩来重新定位,否则它会显示在屏幕外面:
import flash.display.*;
import flash.net.URLRequest;
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFFFFFF);
rect.graphics.drawRect(0, 0, 100, 100);
addChild(rect);
var ldr:Loader = new Loader();
ldr.mask = rect;
var url:String = "http://www.unknown.example.com/content.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);
原文:
You can use the SWFLoader and Loader classes to load sub-applications into a main application. In most circumstances, use the SWFLoader class. This class wraps the Loader class and provides additional functionality that makes it easier to use for loading sub-applications into main applications.
The SWFLoader control has the following features:
Supports Flex styles and effects; the Loader class does not have any inherent support for styles and effects.
Lets you monitor the progress of a load inherently (if you use the Loader class, you have to first get a reference to a LoaderInfo object).
Is a UIComponent. As a result, the SWFLoader control participates in the display list and adds children to the display list without having to write additional code.
Resizes and scales the contents automatically.
Does not require that the SWF file be an instance of the Application class, it just checks if an Application exists, and handles sizing differently.
Can be multi-versioned. The Loader class does not have built-in support for multi-versioning.
分享到:
相关推荐
var swfLoader:Loader = new Loader(); var swfRequest:URLRequest = new URLRequest("mySwf.swf"); swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded); swfLoader.load(swfRequest); ...
#swfloader加载器 用于在flex中缓存加载swf文件。 可用于组件模块化加载。加载完成的组件,下次加载可直接从SWFCache中根据url获取相应内容,避免重复加载 单个加载方式 var item:SWFItem = new SWFItem(); item.url...
总的来说,Flex 中动态加载 Image 和 Icon 是通过 `Loader` 类和相关的事件处理来实现的。通过合理的代码组织和优化,我们可以创建出高效、响应迅速的 Flex 应用程序,同时利用 `IconUtility.as` 这样的工具类提升...
提供的压缩包文件如`SWFLoader.as`可能是一个实现了上述逻辑的AS3类,`main.fla`和`loadswf.fla`可能是包含加载和被加载SWF的Flash项目文件,而`loadswf.swf`和`main.swf`则是编译后的SWF文件。通过学习这些示例,你...
整个 Flex 项目确实可以载入到其它项目中的,但不是以 Module 方式载入而是通过普通方法加载,例如使用 SWFLoader 或 Loader 加载,SystemManager 作为顶级容器加入到项目的显示列表。 SystemManager 的 ...
2. **指定加载目标**:使用Loader的`load()`方法,指定要加载的SWF文件URL和数据类型。假设SWF文件与当前文件在同一目录下,代码如下: ```actionscript loader.load(new URLRequest("mySubFile.swf")); ``` 3. ...
<mx:SWFLoader id="flashLoader" width="100%" height="100%" creationComplete="loadFlash()"/> ``` 2. Flash调用Flex函数 为了使Flash能够调用Flex中的函数,我们需要在Flex中声明这些函数为公开的,这样它们...
然而,如果是在运行时动态加载,可以使用`swfLoader`或`URLLoader`组件,通过加载外部的SWF或Class文件来实现。需要注意的是,这需要处理安全沙箱问题,可能需要设置安全策略文件。 ```actionscript var loader:...
最后,对于`Loader`、`SWFLoader`、声音、视频、效果等资源,需要确保在适当的时候停止播放、停止音频、关闭网络连接等,以防止内存泄漏。例如,对于`Loader`,在加载完资源后,应确保停止加载操作,并清理相关资源...
AS3提供了Loader类和SWFLoader类等工具,可以方便地实现动态加载。 5. **模块化设计**:大型应用可能包含多个相互独立的子系统,如用户管理、支付系统等。通过模块化设计,每个子系统都可以作为一个独立的模块存在...
加载控件(Loader controls),用于加载外部资源,比如Image(图片)、SwfLoader(SWF加载器)、VideoDisplay(视频显示)等;菜单控件(Menu controls),包括Menu(菜单)、MenuBar(菜单栏)、PopUpMenuButton...
SWFLoader用于加载和显示SWF文件,常用于集成Flash动画。 #### VideoDisplay VideoDisplay组件用于播放视频内容,支持多种视频格式。 ### 菜单控件(Menu controls) #### Menu Menu组件提供了一个下拉菜单,用于...