`
luhantu
  • 浏览: 199846 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Loader 与SWFLoader 区别

    博客分类:
  • Flex
阅读更多

在Flex中可以通过Loader和SWFLoader来进行swf和图像文件的加载。但是两者又有一些不同。

 

1.  Loader继承自Loader->DisplayObjectContainer-> InteractiveObject ->DisplayObject,但Loader 类会覆盖其继承的以下方法,因为 Loader 对象只能有一个子显示对象 - 其加载的显示对象。调用以下方法将引发异常:addChild()、addChildAt()、removeChild()、removeChildAt() 和 setChildIndex()。要删除被加载的显示对象,必须从其父 DisplayObjectContainer 子级数组中删除 Loader 对象。

 

SWFLoader继承自SWFLoader ->UIComponent ->FlexSprite ->Sprite ->DisplayObject,所以SWFLoader其实相当于一个容器,可以放置除加载资源的其他组件,而且你还可以删除加载资源。

 

2.Loader记载的资源文件不会自适应Loader的大小,SWFLoader加载的内容会缩放内容以适应 SWFLoader 控件的大小。所以在Loader加载时您可能需要为 Loader 对象定义蒙版,以防止将加载的内容(Loader 对象的子级)绘画到该蒙版之外的舞台部分中。

 

3.SWFLoader其实是对Loader的一种包装,所以自身内置了需要加载需要的功能,譬如load方法中可以直接传入要加载资源的url而不用传入URLRequest对象,自身就用loaderContext属性来进行设置等。

Adobe官方文档Comparing the SWFLoader and Loader controls一节中对其也有很好的描述:

 

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.

支持flex的样式和特效;而Loader类却不支持任何固有的样式和特效。

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).

方便管理加载进度;如果使用Loader则首先要获取LoaderInfo引用。

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.

是一个UIComponent组件。SWFLoader它自己管理了所有子显示对象,不需要添加多余的代码。

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.

可以加载Application以外的实现类,如果检测到不是一个Application,会自动进行处理。

Can be multi-versioned. The Loader class does not have built-in support for multi-versioning.

可以处理不同的版本。Loader不支持加载不同的编译版本。

 

 

0
0
分享到:
评论

相关推荐

    swfloader:swf加载器,用于在flex中加载swf文件。可用于组件模块化,加载然后反射得到相应类

    #swfloader加载器 用于在flex中缓存加载swf文件。 可用于组件模块化加载。加载完成的组件,下次加载可直接从SWFCache中根据url获取相应内容,避免重复加载 单个加载方式 var item:SWFItem = new SWFItem(); item.url...

    SWFLoader源代码

    用来加载位图,需要将图片先导入FLASH,放在SWF类远见中。然后通过此类读取。

    Tree与SWFLOAD

    实现了树与swfloader结合,动态显示图片

    FLEX企业应用开发实战.part1

     3.2.4 通过SWFLoader加载Application  3.2.5 域及跨域访问  3.3 Flex Module  3.3.1 创建模块  3.3.2 模块的编辑与编译  3.3.3 模块文件的加载  3.3.4 主应用和模块的交互  3.4 Flex库文件SWC  ...

    FLEX企业应用开发实战.part2

     3.2.4 通过SWFLoader加载Application  3.2.5 域及跨域访问  3.3 Flex Module  3.3.1 创建模块  3.3.2 模块的编辑与编译  3.3.3 模块文件的加载  3.3.4 主应用和模块的交互  3.4 Flex库文件SWC  ...

    Flex企业应用开发实战源代码

    3.2.4 通过SWFLoader加载Application 97 3.2.5 域及跨域访问 99 3.3 Flex Module 101 3.3.1 创建模块 102 3.3.2 模块的编辑与编译 104 3.3.3 模块文件的加载 104 3.3.4 主应用和模块的交互 107 3.4 Flex库...

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

    使用SWFLoader载入SWF 2.5节. 设置组件的标签索引 2.6节. 设置控件的labelFunction 2.7节. 提供菜单数据 2.8. 动态填充菜单 2.9节. 为菜单类控件创建事件处理函数 2.10节. 显示一个通知窗口 2.11节. 使用Calendar...

Global site tag (gtag.js) - Google Analytics