包 | fl.display |
类 | public class ProLoader |
继承 | ProLoader Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 1.0, Flash Player 9 |
注意:ProLoader 不是 flash.display.Loader 的子类。若要使用 ProLoader,您必须更改对 ProLoader 的所有 Loader 类型引用。
ProLoader 提供一致的加载体验。对于使用 RSL 预加载的 SWF 文件尤其有用。例如,默认情况下,使用 TLF 文本的 SWF 文件会使用 RSL 预加载。在此种情况下,ProLoaderInfo 会延迟发送 INIT 或 COMPLETE 事件,直到 RSL 预加载已完成并且真实内容可用。这样,content
属性就可以访问真实内容。ProLoader 还有助于避免其他问题,诸如:
- 额外的
addedToStage
和removedFromStage
事件 - 加载到第一帧上错误父项的内容(适用于使用 Flash Professional CS5.5 或更高版本发布到 Flash Player 10.2 或更高版本的内容)。
警告:某些 ProLoader 成员并非支持所有运行时版本。仅在您的已发布 AIR 或 Flash Player 版本支持这些成员时,才可以对其进行访问。否则,这些 API 会引发运行时错误。具有有限运行时支持的成员包括以下方法和属性:
-
unloadAndStop()
-
loadFilePromise()
-
uncaughtErrorEvents
请参阅每个 API 的参考主题以验证其运行时支持。
属性 | 由以下参数定义 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
InteractiveObject 实例的当前辅助功能实现 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 | DisplayObject | ||
alpha : Number
表示指定对象的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | ||
blendShader : Shader [只写]
设置用于混合前景和背景的着色器。 | DisplayObject | ||
buttonMode : Boolean
指定此 sprite 的按钮模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果设置为 true,则 Flash 运行时将缓存显示对象的内部位图表示形式。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果为非 null,则 Matrix 对象会定义显示对象在 cacheAsBitmap 设置为 true 时的呈现方式。 | DisplayObject | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
content : DisplayObject [只读]
包含使用 load() 或 loadBytes() 方法加载的 SWF 文件或图像(JPG、PNG 或 GIF)文件的根显示对象。 | ProLoader | ||
contentLoaderInfo : ProLoaderInfo [只读]
返回与正在加载的对象相对应的 ProLoaderInfo 对象。 | ProLoader | ||
contextMenu : NativeMenu
指定与此对象相关联的上下文菜单。 | InteractiveObject | ||
doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [只读]
指定拖动 sprite 时经过的显示对象,或放置 sprite 的显示对象。 | Sprite | ||
filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | ||
focusRect : Object
指定此对象是否显示焦点矩形。 | InteractiveObject | ||
graphics : Graphics [只读]
指定属于此 sprite 的 Graphics 对象,在此 sprite 中可执行矢量绘图命令。 | Sprite | ||
height : Number
表示显示对象的高度,以像素为单位。 | DisplayObject | ||
hitArea : Sprite
指定一个 sprite 用作另一个 sprite 的点击区域。 | Sprite | ||
loaderInfo : LoaderInfo [只读]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | ||
mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | ||
metaData : Object
如果元数据是通过 PlaceObject4 标记与此 DisplayObject 的实例一起存储在 SWF 文件中的,则获取 DisplayObject 实例的元数据对象。 | DisplayObject | ||
mouseChildren : Boolean
确定对象的子级是否支持鼠标或用户输入设备。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此对象是否接收鼠标或其他用户输入、消息。 | InteractiveObject | ||
mouseX : Number [只读]
表示此鼠标或用户输入设备位置的 x 坐标,以像素为单位。 | DisplayObject | ||
mouseY : Number [只读]
表示此鼠标或用户输入设备位置的 y 坐标,以像素为单位。 | DisplayObject | ||
name : String
表示 DisplayObject 的实例名称。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定当该 InteractiveObject 实例获得焦点时,是否显示虚拟键盘(显示在屏幕上的软键盘)。 | InteractiveObject | ||
numChildren : int [只读]
返回此对象的子项数目。 | DisplayObjectContainer | ||
opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | ||
parent : DisplayObjectContainer [只读]
表示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | ||
root : DisplayObject [只读]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | ||
rotation : Number
表示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | DisplayObject | ||
rotationX : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 x 轴旋转(以度为单位)。 | DisplayObject | ||
rotationY : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 y 轴旋转(以度为单位)。 | DisplayObject | ||
rotationZ : Number
表示 DisplayObject 实例相对于 3D 父容器距离其原始方向的 z 轴旋转(以度为单位)。 | DisplayObject | ||
scale9Grid : Rectangle
当前有效的缩放网格。 | DisplayObject | ||
scaleX : Number
表示从注册点开始应用的对象的水平缩放比例(百分比)。 | DisplayObject | ||
scaleY : Number
表示从对象注册点开始应用的对象的垂直缩放比例(百分比)。 | DisplayObject | ||
scaleZ : Number
表示从对象的注册点开始应用的对象的深度缩放比例(百分比)。 | DisplayObject | ||
scrollRect : Rectangle
显示对象的滚动矩形范围。 | DisplayObject | ||
softKeyboard : String
控制软键盘的外观。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定义当显示软键盘时应在屏幕上保留的区域(在 iOS 上不支持)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
控制此 sprite 中的声音。 | Sprite | ||
stage : Stage [只读]
显示对象的舞台。 | DisplayObject | ||
tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 | DisplayObjectContainer | ||
tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | ||
tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [只读]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | DisplayObjectContainer | ||
transform : flash.geom:Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | DisplayObject | ||
uncaughtErrorEvents : EventDispatcher [只读]
在此 ProLoader 对象的 SWF 文件的代码中发生未处理错误时调度 uncaughtError 事件的对象。 | ProLoader | ||
useHandCursor : Boolean
布尔值,表示当指针滑过 buttonMode 属性设置为 true 的 sprite 时是否显示指针手形(手形光标)。 | Sprite | ||
visible : Boolean
显示对象是否可见。 | DisplayObject | ||
width : Number
表示显示对象的宽度,以像素为单位。 | DisplayObject | ||
x : Number
表示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。 | DisplayObject | ||
y : Number
表示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。 | DisplayObject | ||
z : Number
表示 DisplayObject 实例相对于 3D 父容器沿 z 轴的 z 坐标位置。 | DisplayObject |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建一个可用于加载文件(如 SWF、JPEG、GIF 或 PNG 文件)的 ProLoader 对象。 | ProLoader | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
表示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 | DisplayObjectContainer | ||
取消当前正在对 ProLoader 实例执行的 load() 方法操作。 | ProLoader | ||
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 | DisplayObjectContainer | ||
将事件调度到事件流中。 | EventDispatcher | ||
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | ||
返回位于指定索引处的子显示对象实例。 | DisplayObjectContainer | ||
返回具有指定名称的子显示对象。 | DisplayObjectContainer | ||
返回 DisplayObject 的 child 实例的索引位置。 | DisplayObjectContainer | ||
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 | DisplayObjectContainer | ||
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | ||
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | ||
将二维点从舞台(全局)坐标转换为三维显示对象的(本地)坐标。 | DisplayObject | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
计算显示对象的边框,以确定它是否与 obj 显示对象的边框重叠或相交。 | DisplayObject | ||
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将 SWF、JPEG、渐进式 JPEG、非动画 GIF 或 PNG 文件加载到此 ProLoader 对象的子对象中。 | ProLoader | ||
从 ByteArray 对象中所存储的二进制数据中加载。 | ProLoader | ||
通过 promise 参数加载 IFilePromise 实例。 | ProLoader | ||
将三维显示对象的(本地)坐标的三维点转换为舞台(全局)坐标中的二维点。 | DisplayObject | ||
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 | DisplayObjectContainer | ||
从 DisplayObjectContainer 实例的子级列表中删除所有子 DisplayObject 实例。 | DisplayObjectContainer | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
显示虚拟键盘。 | InteractiveObject | ||
更改现有子项在显示对象容器中的位置。 | DisplayObjectContainer | ||
设置循环操作动态属性的可用性。 | Object | ||
允许用户拖动指定的 Sprite。 | Sprite | ||
使用户可以在启用触摸的设备上拖动指定的 Sprite。 | Sprite | ||
对源起于此对象的所有 MovieClip 递归停止时间轴执行。 | DisplayObjectContainer | ||
结束 startDrag() 方法。 | Sprite | ||
结束 startTouchDrag() 方法,用于启用触摸的设备。 | Sprite | ||
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 | DisplayObjectContainer | ||
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 | DisplayObjectContainer | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
删除此 ProLoader 对象中使用 load() 方法加载的子项。 | ProLoader | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
content | 属性 |
content:DisplayObject
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 1.0, Flash Player 9 |
包含使用 load()
或 loadBytes()
方法加载的 SWF 文件或图像(JPG、PNG 或 GIF)文件的根显示对象。
实现
public function get content():DisplayObject
引发
SecurityError — 加载的 SWF 文件或图像文件属于您无权访问的安全沙箱。对于加载的 SWF 文件,可以避免这种情况的方法是:使该文件调用 Security.allowDomain() 方法,或在您调用 load() 或 loadBytes() 方法时使加载文件指定 loaderContext 参数,并将该参数的 securityDomain 属性设置为 SecurityDomain.currentDomain 。
|
contentLoaderInfo | 属性 |
contentLoaderInfo:ProLoaderInfo
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 1.0, Flash Player 9 |
返回与正在加载的对象相对应的 ProLoaderInfo 对象。ProLoaderInfo 对象在 ProLoader 对象和加载的内容对象之间共享。ProLoaderInfo 对象提供有关加载的文件的加载进度信息和统计。
与加载相关的事件由 ProLoader 对象的 contentLoaderInfo
属性引用的 ProLoaderInfo 对象调度。contentLoaderInfo
属性设置为有效的 ProLoaderInfo 对象(即使在加载内容之前),这样您就可以在加载前将事件侦听器添加到该对象。
若要检测加载的 SWF 中发生的未捕获错误,请使用 ProLoader.uncaughtErrorEvents
属性而不是 ProLoader.contentLoaderInfo.uncaughtErrorEvents
属性。
注意:contentLoaderInfo 属性会返回一个 ProLoaderInfo 对象。ProLoaderInfo 不是 LoaderInfo 的子类,因此并未提供隐式转换为超类的便利。因此,请确保将您的类型声明从 LoaderInfo 更改为 ProLoaderInfo。
实现
public function get contentLoaderInfo():ProLoaderInfo
uncaughtErrorEvents | 属性 |
uncaughtErrorEvents:EventDispatcher
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | Flash Player 10.1, AIR 2.0 |
在此 ProLoader 对象的 SWF 文件的代码中发生未处理错误时调度 uncaughtError
事件的对象。当任何 try..catch
块引发错误时,或调度的 ErrorEvent 对象没有注册的侦听器时,会发生未被捕获的错误。
当与此对象关联的 SWF 完成加载时,会创建此属性。在此之前,uncaughtErrorEvents
属性保持为 null
。在只包含 ActionScript 的项目中,可以在 SWF 文件主类的构造函数执行期间或执行后访问此属性。
在不支持该属性的播放器中访问此 ProLoader 属性将导致错误。返回一个 EventDispatcher 对象而非 UncaughtErrorEvents 对象,以避免在不支持的播放器中产生错误。
实现
public function get uncaughtErrorEvents():EventDispatcher
相关 API 元素
ProLoader | () | 构造函数 |
public function ProLoader()
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 1.0, Flash Player 9 |
创建一个可用于加载文件(如 SWF、JPEG、GIF 或 PNG 文件)的 ProLoader 对象。调用 load()
方法可将资源加载为 ProLoader 实例的子级。然后,可以将 ProLoader 对象添加到显示列表(例如,通过使用 DisplayObjectContainer 实例的 addChild()
方法)。这样,资源在加载时会出现在舞台上。
您也可以在“offlist”模式下使用 ProLoader 实例,这样就不会将 ProLoader 实例添加到显示列表的显示对象容器中。在该模式下,Loader 实例可以用于加载包含应用程序的其它模块的 SWF 文件。
若要检测何时可以完成 SWF 文件的加载,您可以使用与 ProLoader 对象的 contentLoaderInfo
属性相关联的 ProLoaderInfo 对象的事件。此时,便可执行模块 SWF 文件中的代码以初始化和启动模块。在 offlist 模式下,还可以使用 ProLoader 实例来加载包含组件或媒体资源的 SWF 文件。同时,您可以使用 ProLoaderInfo 对象事件通知来检测组件的加载何时完成。此时,应用程序可以通过实例化代表这些组件和资源的 ActionScript 3.0 类来开始使用 SWF 文件库中的组件和媒体资源。
要确定 ProLoader 对象的状态,请监视与 ProLoader 对象的 contentLoaderInfo
属性相关联的 ProLoaderInfo 对象的以下事件:
- 在加载开始时调度
open
事件。 - 在无法加载文件或在加载过程中出现错误时,调度
ioError
或securityError
事件。 - 在文件加载过程中会不断引发
progress
事件。 - 在文件完成下载但加载的影片剪辑的方法和属性尚不可用时调度
complete
事件。如果已加载的 SWF 文件使用 RSL 预加载,则会在 RSL 预加载完成后调度此事件。此时,在content
属性中可以看到真实内容。 - 在可以访问加载的 SWF 文件的属性和方法,即可以开始操作加载的 SWF 文件时调度
init
事件。在complete
处理函数之前调度该事件。在流式 SWF 文件中,init
事件可以在明显早于complete
事件的时间发生。在大多数情况下,请使用init
处理函数。如果已加载的 SWF 文件使用 RSL 预加载,则会在 RSL 预加载完成后调度此事件。此时,在content
属性中可以看到真实内容。
相关 API 元素
close | () | 方法 |
public function close():void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 1.0, Flash Player Player - 9 |
取消当前正在对 ProLoader 实例执行的 load()
方法操作。
load | () | 方法 |
public function load(request:URLRequest, context:LoaderContext = null):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Player Player - 9 |
将 SWF、JPEG、渐进式 JPEG、非动画 GIF 或 PNG 文件加载到此 ProLoader 对象的子对象中。如果加载 GIF 动画文件,将仅显示第一帧。由于 ProLoader 对象可以只包含一个子级,因此,发出后续 load()
请求将终止先前的请求,如果仍然存在未处理的请求,则会开始新的加载。
注意:在 AIR 1.5 和 Flash Player 10 中,所加载图像的最大宽度或高度为 8,191 像素,并且像素总数不能超过 16,777,215 像素。(因此,如果所加载图像的宽度为 8,191 像素,则其高度只能为 2,048 像素。)在 Flash Player 9 及早期版本和 AIR 1.1 及早期版本中,高度最大为 2,880 像素,宽度最大为 2,880 像素。
加载到 ProLoader 对象中的 SWF 文件或图像会继承该 ProLoader 对象的父显示对象的位置、旋转和缩放属性。
使用 unload()
方法可删除用此方法加载的影片或图像,或者取消正在进行中的加载操作。
可以在包含 SWF 内容的 HTML 页中设置 object
和 embed
标签的 allowNetworking
参数,防止 SWF 文件使用此方法。
使用此方法时,请考虑 ProLoader 类说明中描述的 Flash Player 安全模型。
在 Flash Player 10 和更高版本中,如果使用包含上载(由 POST 体内的“content-disposition”标头中的“filename”参数表示)的 multipart Content-Type(例如“multipart/form-data”),则 POST 操作会受应用于上载的安全规则的约束:
- 必须执行 POST 操作以响应用户启动的操作(如鼠标单击或按键)。
- 如果 POST 操作是跨域的(POST 目标与发送 POST 请求的 SWF 文件不在同一台服务器上),则目标服务器必须提供一个允许跨域访问的 URL 策略文件。
同样,对于任何 multipart Content-Type,语法必须有效(根据 RFC2046 标准)。如果语法无效,则 POST 操作受应用于上载的安全规则约束。
有关安全性的详细信息,请参阅 Flash Player 开发人员中心主题:安全性。
参数
request:URLRequest — 要加载的 SWF、JPEG、GIF 或 PNG 文件的绝对或相对 URL。相对路径必须相对于主 SWF 文件。绝对 URL 必须包括协议引用,如 http:// 或 file:///。文件名不能包括磁盘驱动器指定。
| |
context:LoaderContext (default = null ) — LoaderContext 对象,它具有定义下列内容的属性:
如果未指定 有关完整的详细信息,请参阅 LoaderContext 类中的属性说明。 |
事件
asyncError: — 如果 LoaderContext.requestedContentParent 属性已指定并且不可能将加载的内容作为子级添加到指定的 DisplayObjectContainer,则由 contentLoaderInfo 对象调度。如果加载的内容为 flash.display.AVM1Movie ,或者 addChild() 调用 requestedContentParent 时引发了错误,则可能发生这种情况。
| |
complete: — 在文件完成加载时由 contentLoaderInfo 对象调度。complete 事件始终在 init 事件之后调度。
| |
httpStatus: — 在通过 HTTP 发出网络请求并且 Flash Player 可以检测到 HTTP 状态代码时,由 contentLoaderInfo 对象调度。
| |
init: — 在可以访问所加载的 SWF 文件的属性和方法时,由 contentLoaderInfo 对象调度。init 事件始终在 complete 事件之前。
| |
ioError: — 在发生会导致加载操作失败的输入或输出错误时,由 contentLoaderInfo 对象调度。
| |
open: — 在加载操作开始时,由 contentLoaderInfo 对象调度。
| |
progress: — 在加载操作进行过程中接收到数据时,由 contentLoaderInfo 对象调度。
| |
securityError: — 当位于只能与本地文件系统内容交互的沙箱中的 SWF 文件尝试加载只能与远程内容交互的沙箱中的内容时(反之亦然),由 contentLoaderInfo 对象调度。
| |
securityError: — 如果 LoaderContext.requestedContentParent 属性已指定并且 LoaderContext.requestedContentParent 的安全沙箱不能访问加载的 SWF,则由 contentLoaderInfo 对象调度。
| |
unload: — 在删除所加载的对象时,由 contentLoaderInfo 对象调度。
|
引发
IOError — request 对象的 digest 属性不是 null 。如果在加载 SWZ 文件(一个 Adobe 平台组件)时调用 URLLoader.load() 方法,仅应设置 URLRequest 对象的 digest 属性。
| |
SecurityError — LoaderContext.securityDomain 的值必须是 null 或 SecurityDomain.currentDomain 。这说明您只能将被加载的媒体放置在其原始的安全沙箱或您自己的安全沙箱中(后者需要策略文件)。
| |
SecurityError — 本地 SWF 文件可能只会将 LoaderContext.securityDomain 设置为 null 。不允许将非本地媒体导入到本地沙箱中,或者将其它本地媒体放置在除其原始沙箱以外的其它位置。
| |
SecurityError — 无法连接到常用的保留端口。有关已阻止的端口的完整列表,请参阅《ActionScript 3.0 开发人员指南》中的“限制网络 API”。
| |
SecurityError — 如果 context 参数的 applicationDomain 或 securityDomain 属性来自不允许的域。
| |
SecurityError — 如果本地 SWF 文件尝试使用 context 参数的 securityDomain 属性。
| |
IllegalOperationError — 如果 context 参数的 requestedContentParent 属性为 ProLoader 。
| |
IllegalOperationError — 如果 LoaderContext.parameters 参数设置为非 null,并且具有不是字符串的某些值。
|
相关 API 元素
loadBytes | () | 方法 |
public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | Flash Player 9, AIR 1.0, Flash Player 9 |
从 ByteArray 对象中所存储的二进制数据中加载。
loadBytes()
方法是异步的。必须等待“init”事件出现才能访问已加载对象的属性。
使用此方法时,请考虑 ProLoader 类说明中描述的 Flash Player 安全模型。
参数
bytes:ByteArray — 一个 ByteArray 对象。ByteArray 的内容可以采用受 ProLoader 类支持的任何文件格式:SWF、GIF、JPEG 或 PNG。
| |
context:LoaderContext (default = null ) — 一个 LoaderContext 对象。只应用 LoaderContext 对象的 applicationDomain 属性;不应用 LoaderContext 对象的 checkPolicyFile 和 securityDomain 属性。
如果未指定 有关安全性的详细信息,请参阅 Flash Player 开发人员中心主题:安全性。 |
事件
asyncError: — 如果 LoaderContext.requestedContentParent 属性已指定并且不可能将加载的内容作为子级添加到指定的 DisplayObjectContainer,则由 contentLoaderInfo 对象调度。如果加载的内容为 flash.display.AVM1Movie ,或者 addChild() 调用 requestedContentParent 时引发了错误,则可能发生这种情况。
| |
complete: — 当操作完成时由 contentLoaderInfo 对象调度。complete 事件始终在 init 事件之后调度。
| |
init: — 当已加载数据的属性和方法可以访问时由 contentLoaderInfo 对象调度。init 事件始终在 complete 事件之前。
| |
ioError: — 当运行时无法分析字节数组中的数据时由 contentLoaderInfo 对象调度。
| |
open: — 当操作开始时由 contentLoaderInfo 对象调度。
| |
progress: — 当数据传输至内存时由 contentLoaderInfo 对象调度。
| |
securityError: — 如果 LoaderContext.requestedContentParent 属性已指定并且 LoaderContext.requestedContentParent 的安全沙箱不能访问加载的 SWF,则由 contentLoaderInfo 对象调度。
| |
unload: — 在删除所加载的对象时,由 contentLoaderInfo 对象调度。
|
引发
ArgumentError — 如果 ByteArray 对象的 length 属性不大于 0。
| |
IllegalOperationError — 如果 context 参数的 checkPolicyFile 或 securityDomain 属性为非空。
| |
IllegalOperationError — 如果 context 参数的 requestedContentParent 属性为 ProLoader 。
| |
IllegalOperationError — 如果 LoaderContext.parameters 参数设置为非 null,并且具有不是字符串的某些值。
| |
SecurityError — 如果提供的 context 属性的 applicationDomain 属性来自不允许的域。
| |
SecurityError — 无法连接到常用的保留端口。有关已阻止的端口的完整列表,请参阅《ActionScript 3.0 开发人员指南》中的“限制网络 API”。
|
相关 API 元素
loadFilePromise | () | 方法 |
public function loadFilePromise(promise:Object, context:LoaderContext = null):void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 2.5, AIR 2.0, Flash Player 9 |
通过 promise
参数加载 IFilePromise 实例。promise
参数的类型使用 Object 超类而非 IFilePromise,以避免在其他播放器中出现错误。
loadFilePromise
方法使用 IFilePromise
对象并加载二进制数据。如果数据是渐进流,例如视频,则在访问加载的对象的属性之前等待“init”或 progress 事件。否则,等待 complete 事件以确保完全加载了数据。
使用此方法时,请考虑 ProLoader 类说明中描述的 Flash Player 安全模型。
参数
promise:Object — IFilePromise 对象。对象的数据源可以采用 ProLoader 类支持的任何文件格式:SWF、GIF、JPEG 或 PNG。
| |
context:LoaderContext (default = null ) — 一个 LoaderContext 对象。只应用 LoaderContext 对象的 applicationDomain 属性;不应用 LoaderContext 对象的 checkPolicyFile 和 securityDomain 属性。
如果未指定 有关安全性的详细信息,请参阅 Flash Player 开发人员中心主题:安全性。 |
事件
asyncError: — 如果 LoaderContext.requestedContentParent 属性已指定并且不可能将加载的内容作为子级添加到指定的 DisplayObjectContainer,则由 contentLoaderInfo 对象调度。如果加载的内容为 flash.display.AVM1Movie ,或者 addChild() 调用 requestedContentParent 时引发了错误,则可能发生这种情况。
| |
complete: — 当操作完成时由 contentLoaderInfo 对象调度。complete 事件始终在 init 事件之后调度。
| |
init: — 当已加载数据的属性和方法可以访问时由 contentLoaderInfo 对象调度。init 事件始终在 complete 事件之前。
| |
ioError: — 如果运行时无法分析数据源中的数据或数据源流不可读,则由 contentLoaderInfo 对象调度。
| |
open: — 当操作开始时由 contentLoaderInfo 对象调度。
| |
progress: — 当数据传输至内存时由 contentLoaderInfo 对象调度。
| |
securityError: — 如果 LoaderContext.requestedContentParent 属性已指定并且 LoaderContext.requestedContentParent 的安全沙箱不能访问加载的 SWF,则由 contentLoaderInfo 对象调度。
| |
unload: — 在删除所加载的对象时,由 contentLoaderInfo 对象调度。
警告:在 AIR 应用程序之外访问此 API 将引发错误。 |
引发
IllegalOperationError — 如果 context 参数的 requestedContentParent 属性为 ProLoader 对象。
| |
IllegalOperationError — 如果 LoaderContext.parameters 参数设置为非 null,并且具有不是字符串的某些值。
| |
ArgumentError — 如果作为参数传递的 IFilePromise 对象为 null。
|
相关 API 元素
unload | () | 方法 |
public function unload():void
语言版本: | ActionScript 3.0 |
产品版本: | Flash CS5.5 |
运行时版本: | AIR 1.0, Flash Player 9 |
删除此 ProLoader 对象中使用 load()
方法加载的子项。将关联的 ProLoaderInfo 对象的 property
重置为 null
。不必破坏子级,因为其他对象可能要引用它;但是,它不再是 ProLoader 对象的子级。
最佳做法是,在卸载子 SWF 文件之前,您应该明确关闭子 SWF 文件的对象(如 LocalConnection、NetConnection、NetStream 和 Sound 对象)中的任何流。否则,子 SWF 文件中的音频可能会继续播放,即使已卸载子级 SWF 文件。要关闭子 SWF 文件中的流,请向子文件中添加事件侦听器以侦听 unload
事件。当父文件调用 ProLoader.unload()
时,将为子文件调度 unload
事件。以下代码显示了完成上述任务的方法:
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
相关 API 元素
Tue Jun 12 2018, 11:04 AM Z