| window.runtime 属性 | window.runtime.flash.display.Stage |
| 继承 | Stage DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
对于在浏览器中(使用 Flash® Player)运行的 SWF 内容,Stage 表示显示 Flash 内容的整个区域。对于在 AIR 中运行的内容,每个 NativeWindow 对象都有一个相应的 Stage 对象。
无法以全局方式访问 Stage 对象。而是需要利用 DisplayObject 实例的 stage 属性进行访问。
Stage 类具有多个始祖类 -- DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher,属性和方法便是从这些类继承而来的。从这些继承的许多属性和方法不适用于 Stage 对象,或在调用 Stage 类时需要安全检查。需要安全检查的属性和方法被记录为 Stage 类的一部分。
此外,下面的继承属性不适用于 Stage 对象。如果尝试设置这些属性,便会引发 IllegalOperationError。这些属性通常可以读取,但是由于无法进行设置,所以它们将始终包含默认值。
accessibilityProperties
alpha
blendMode
cacheAsBitmap
contextMenu
filters
focusRect
loaderInfo
mask
mouseEnabled
name
opaqueBackground
rotation
scale9Grid
scaleX
scaleY
scrollRect
tabEnabled
tabIndex
transform
visible
x
y
在 JavaScript 中,通过获取 runtime.nativeWindow.stage 属性,可以访问包含 HTML 页的窗口的 stage 属性。此属性仅可用于应用程序安全沙箱中运行的内容。
许多 Stage 属性和方法都与在 SWF 文件(使用 ActionScript 3.0 显示列表)中运行的 Stage 对象有关。这些属性和方法对基于 HTML 的 AIR 应用程序中运行的 JavaScript 代码并无多大用处。有关这些属性和方法的详细信息,请参阅《ActionScript 3.0 语言参考》。
以下 Stage 属性在基于 HTML 的 AIR 应用程序中最有用:
quality
displayState
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。 | DisplayObject | |
| align : String
一个 StageAlign 类中指定舞台在 Flash Player 或浏览器中的对齐方式的值。 | Stage | ||
![]() | alpha : Number
指示指定对象的 Alpha 透明度值。 | DisplayObject | |
![]() | blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。 | DisplayObject | |
![]() | cacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。 | DisplayObject | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
![]() | contextMenu : NativeMenu
指定与此对象相关联的上下文菜单。 | InteractiveObject | |
| displayState : String
用于指定要使用哪个显示状态的 StageDisplayState 类的值。 | Stage | ||
![]() | doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。 | InteractiveObject | |
![]() | filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。 | DisplayObject | |
| focus : InteractiveObject
具有键盘焦点的交互式对象;如果没有设置焦点,或者具有焦点的对象属于调用对象无权访问的安全沙箱,则为 null。 | Stage | ||
![]() | focusRect : Object
指定此对象是否显示焦点矩形。 | InteractiveObject | |
| frameRate : Number
获取并设置舞台的帧频。 | Stage | ||
| fullScreenHeight : uint [只读 (read-only)]
返回变为全屏大小时使用的显示器高度(如果立即进入该状态)。 | Stage | ||
| fullScreenSourceRect : Rectangle
设置 Flash Player 以将特定的舞台区域放大到全屏模式。 | Stage | ||
| fullScreenWidth : uint [只读 (read-only)]
返回变为全屏大小时使用的显示器宽度(如果立即进入该状态)。 | Stage | ||
| height : Number
指示显示对象的高度,以像素为单位。 | Stage | ||
![]() | loaderInfo : LoaderInfo [只读 (read-only)]
返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。 | DisplayObject | |
![]() | mask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。 | DisplayObject | |
| mouseChildren : Boolean
确定对象的子项是否支持鼠标。 | Stage | ||
![]() | mouseEnabled : Boolean
指定此对象是否接收鼠标消息。 | InteractiveObject | |
![]() | mouseX : Number [只读 (read-only)]
指示鼠标位置的 x 坐标,以像素为单位。 | DisplayObject | |
![]() | mouseY : Number [只读 (read-only)]
指示鼠标位置的 y 坐标,以像素为单位。 | DisplayObject | |
![]() | name : String
指示 DisplayObject 的实例名称。 | DisplayObject | |
| nativeWindow : NativeWindow [只读 (read-only)]
对包含此舞台的 NativeWindow 对象的引用。 | Stage | ||
| numChildren : int [只读 (read-only)]
返回此对象的子项数目。 | Stage | ||
![]() | opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。 | DisplayObject | |
![]() | parent : DisplayObjectContainer [只读 (read-only)]
指示包含此显示对象的 DisplayObjectContainer 对象。 | DisplayObject | |
![]() | prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | |
| quality : String
StageQuality 类中的一个用于指定使用哪种呈现品质的值。 | Stage | ||
![]() | root : DisplayObject [只读 (read-only)]
对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。 | DisplayObject | |
![]() | rotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 | DisplayObject | |
![]() | scale9Grid : Rectangle
当前有效的缩放网格。 | DisplayObject | |
| scaleMode : String
一个 StageScaleMode 类中指定要使用哪种缩放模式的值。 | Stage | ||
![]() | scaleX : Number
指示从注册点开始应用的对象的水平缩放比例(百分比)。 | DisplayObject | |
![]() | scaleY : Number
指示从对象注册点开始应用的对象的垂直缩放比例(百分比)。 | DisplayObject | |
![]() | scrollRect : Rectangle
显示对象的滚动矩形范围。 | DisplayObject | |
| showDefaultContextMenu : Boolean
指定显示或隐藏 Flash Player 上下文菜单中的默认项。 | Stage | ||
![]() | stage : Stage [只读 (read-only)]
显示对象的舞台。 | DisplayObject | |
| stageFocusRect : Boolean
指定对象在具有焦点时是否显示加亮的边框。 | Stage | ||
| stageHeight : int
舞台的当前高度(以像素为单位)。 | Stage | ||
| stageWidth : int
指定舞台的当前宽度(以像素为单位)。 | Stage | ||
| tabChildren : Boolean
确定对象的子项是否支持 Tab 键。 | Stage | ||
![]() | tabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。 | InteractiveObject | |
![]() | tabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。 | InteractiveObject | |
| textSnapshot : TextSnapshot [只读 (read-only)]
返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。 | Stage | ||
![]() | transform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。 | DisplayObject | |
![]() | visible : Boolean
显示对象是否可见。 | DisplayObject | |
| width : Number
指示显示对象的宽度,以像素为单位。 | Stage | ||
![]() | x : Number
指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。 | DisplayObject | |
![]() | y : Number
指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。 | DisplayObject | |
| 方法 | 定义方 | ||
|---|---|---|---|
addChild(child:DisplayObject):DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | Stage | ||
addChildAt(child:DisplayObject, index:int):DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。 | Stage | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | Stage | ||
![]() | areInaccessibleObjectsUnderPoint(point:Point):Boolean
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。 | DisplayObjectContainer | |
assignFocus(objectToFocus:InteractiveObject, direction:String):void
将键盘焦点设置为由 objectToFocus 指定的交互式对象,焦点方向由 direction 参数指定。 | Stage | ||
![]() | contains(child:DisplayObject):Boolean
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。 | DisplayObjectContainer | |
dispatchEvent(event:Event):Boolean
将事件调度到事件流中。 | Stage | ||
![]() | getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。 | DisplayObject | |
![]() | getChildAt(index:int):DisplayObject
返回位于指定索引处的子显示对象实例。 | DisplayObjectContainer | |
![]() | getChildByName(name:String):DisplayObject
返回具有指定名称的子显示对象。 | DisplayObjectContainer | |
![]() | getChildIndex(child:DisplayObject):int
返回 DisplayObject 的 child 实例的索引位置。 | DisplayObjectContainer | |
![]() | getObjectsUnderPoint(point:Point):Array
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。 | DisplayObjectContainer | |
![]() | getRect(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。 | DisplayObject | |
![]() |
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。 | DisplayObject | |
hasEventListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | Stage | ||
![]() | hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。 | Object | |
![]() | hitTestObject(obj:DisplayObject):Boolean
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。 | DisplayObject | |
![]() | hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。 | DisplayObject | |
调用 invalidate() 方法,以便在出现下一个 Flash Player 必须呈现显示列表的时机(例如,当播放头前进到一个新帧)时,向其发出提醒显示对象的信号。 | Stage | ||
isFocusInaccessible():Boolean
确定 Stage.focus 属性是否因某些安全原因返回 null。 | Stage | ||
![]() | isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。 | DisplayObject | |
![]() | propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。 | Object | |
![]() | removeChild(child:DisplayObject):DisplayObject
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。 | DisplayObjectContainer | |
removeChildAt(index:int):DisplayObject
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。 | Stage | ||
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
setChildIndex(child:DisplayObject, index:int):void
更改现有子项在显示对象容器中的位置。 | Stage | ||
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。 | Object | |
![]() | swapChildren(child1:DisplayObject, child2:DisplayObject):void
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。 | DisplayObjectContainer | |
swapChildrenAt(index1:int, index2:int):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。 | Stage | ||
![]() | toString():String
返回指定对象的字符串表示形式。 | Object | |
![]() | valueOf():Object
返回指定对象的原始值。 | Object | |
willTrigger(type:String):Boolean
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | Stage | ||
| 事件 | 摘要 | 定义方 | ||
|---|---|---|---|---|
![]() | Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时调度。 | EventDispatcher | ||
![]() | added | 将显示对象添加到显示列表中时调度。 | DisplayObject | |
![]() | addedToStage | 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。 | DisplayObject | |
![]() | click | 用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。 | InteractiveObject | |
![]() | contextMenu | 当用户在 AIR 应用程序中选择与此交互式对象相关联的上下文菜单时调度。 | InteractiveObject | |
![]() | Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时调度。 | EventDispatcher | ||
![]() | doubleClick | 如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。 | InteractiveObject | |
![]() | enterFrame | 播放头进入新帧时调度。 | DisplayObject | |
![]() | focusIn | 显示对象获得焦点后调度。 | InteractiveObject | |
![]() | focusOut | 显示对象失去焦点后调度。 | InteractiveObject | |
| 当 Stage 对象进入或离开全屏模式时调度。 | Stage | |||
![]() | keyDown | 用户按下某个键时调度。 | InteractiveObject | |
![]() | keyFocusChange | 用户尝试使用键盘导航更改焦点时调度。 | InteractiveObject | |
![]() | keyUp | 用户释放某个键时调度。 | InteractiveObject | |
![]() | middleClick | 当用户在同一 InteractiveObject 上按下并释放用户指针设备的中间按钮时调度。 | InteractiveObject | |
![]() | middleMouseDown | 当用户在 InteractiveObject 实例上按下指针设备的中间按钮时调度。 | InteractiveObject | |
![]() | middleMouseUp | 当用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | |
![]() | mouseDown | 当用户在 InteractiveObject 实例上按下指针设备按钮时调度。 | InteractiveObject | |
![]() | mouseFocusChange | 用户尝试使用指针设备更改焦点时调度。 | InteractiveObject | |
| 当鼠标指针移出舞台区域时由 Stage 对象进行调度。 | Stage | |||
![]() | mouseMove | 用户移动 InteractiveObject 上的指针设备时调度。 | InteractiveObject | |
![]() | mouseOut | 用户将指针设备从 InteractiveObject 实例上移开时调度。 | InteractiveObject | |
![]() | mouseOver | 用户将指针设备移动到 InteractiveObject 实例上时调度。 | InteractiveObject | |
![]() | mouseUp | 当用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | |
![]() | mouseWheel | 当鼠标滚轮滚动到 InteractiveObject 实例上时调度。 | InteractiveObject | |
![]() | nativeDragComplete | 当用户释放拖动动作时由拖动启动器 InteractiveObject 调度。 | InteractiveObject | |
![]() | nativeDragDrop | 在将拖动对象放置到目标上且已通过对 DragManager.acceptDragDrop() 的调用接受该放置操作时,由目标 InteractiveObject 调度。 | InteractiveObject | |
![]() | nativeDragEnter | 当拖动动作进入其边界时由 InteractiveObject 调度。 | InteractiveObject | |
![]() | nativeDragExit | 当拖动动作离开其边界时由 InteractiveObject 调度。 | InteractiveObject | |
![]() | nativeDragOver | 当拖动动作保持在其边界内时,由 InteractiveObject 持续调度。 | InteractiveObject | |
![]() | nativeDragStart | 在拖动操作开始时由在 DragManager.doDrag() 调用中指定为拖动启动器的 InteractiveObject 调度。 | InteractiveObject | |
![]() | nativeDragUpdate | 在拖动操作期间由在 DragManager.doDrag() 调用中指定为拖动启动器的 InteractiveObject 调度。 | InteractiveObject | |
![]() | removed | 将要从显示列表中删除显示对象时调度。 | DisplayObject | |
![]() | removedFromStage | 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。 | DisplayObject | |
![]() | render | 将要更新和呈现显示列表时调度。 | DisplayObject | |
| 当 Stage 对象的 scaleMode 属性设置为 StageScaleMode.NO_SCALE 且 SWF 文件大小经过重新调整时进行调度。 | Stage | |||
![]() | rightClick | 当用户在同一 InteractiveObject 上按下并释放用户指针设备的右按钮时调度。 | InteractiveObject | |
![]() | rightMouseDown | 当用户在 InteractiveObject 实例上按下指针设备按钮时调度。 | InteractiveObject | |
![]() | rightMouseUp | 当用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | |
![]() | rollOut | 用户将指针设备从 InteractiveObject 实例上移开时调度。 | InteractiveObject | |
![]() | rollOver | 用户将指针设备移动到 InteractiveObject 实例上时调度。 | InteractiveObject | |
![]() | tabChildrenChange | 对象的 tabChildren 标志值发生更改时调度。 | InteractiveObject | |
![]() | tabEnabledChange | 对象的 tabEnabled 标志发生更改时调度。 | InteractiveObject | |
![]() | tabIndexChange | 对象的 tabIndex 属性值发生更改时调度。 | InteractiveObject | |
| align | 属性 |
align:String [读写] 一个 StageAlign 类中指定舞台在 Flash Player 或浏览器中的对齐方式的值。以下是有效值:
| 值 | 垂直对齐方式 | 水平对齐方式 |
|---|---|---|
StageAlign.TOP | 顶对齐 | 居中对齐 |
StageAlign.BOTTOM | 底对齐 | 居中对齐 |
StageAlign.LEFT | 居中对齐 | 左对齐 |
StageAlign.RIGHT | 居中对齐 | 右对齐 |
StageAlign.TOP_LEFT | 顶对齐 | 左对齐 |
StageAlign.TOP_RIGHT | 顶对齐 | 右对齐 |
StageAlign.BOTTOM_LEFT | 底对齐 | 左对齐 |
StageAlign.BOTTOM_RIGHT | 底对齐 | 右对齐 |
align 属性只可用于与 Stage 所有者(主 SWF 文件)位于同一安全沙箱的对象。为避免出现这种情况,Stage 所有者可以通过调用 Security.allowDomain() 方法或 Security.alowInsecureDomain() 方法来向域的调用对象授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
另请参见
| displayState | 属性 |
displayState:String [读写] 用于指定要使用哪个显示状态的 StageDisplayState 类的值。以下是有效值:
StageDisplayState.FULL_SCREEN 将 AIR 应用程序或 Flash Player 设置成扩展舞台以覆盖用户的整个屏幕(禁用键盘输入)。StageDisplayState.FULL_SCREEN_INTERACTIVE 将 AIR 应用程序设置成扩展舞台以覆盖用户的整个屏幕(允许键盘输入)。(对于在 Flash Player 的内容不适用。)StageDisplayState.NORMAL 将播放器设置回标准的舞台显示模式。影片在全屏模式下的缩放行为由 scaleMode 设置确定(在 HTML 文件中使用 Stage.scaleMode 属性或 SWF 文件的 embed 标签设置进行设置)。如果将 scaleMode 属性设置为 noScale,则当应用程序过渡为全屏模式时,舞台的 width 和 height 属性将更新并引发舞台的 resize 事件。
以下限制适用于在 HTML 页内播放的 SWF 文件(而不是使用独立 Flash Player 播放的文件或不在 AIR 运行时中运行的文件):
allowFullScreen 参数添加到包含 SWF 文件的 HTML 页中的 object 和 embed 标签,同时将 allowFullScreen 设置为 "true",如下例所示:
<param name="allowFullScreen" value="true" />
...
<embed src="example.swf" allowFullScreen="true" ... >HTML 页还可以使用脚本生成 SWF 嵌入标签。您需要修改脚本,以使其插入正确的 allowFullScreen 设置。Flash 和 Flex Builder 生成的 HTML 页使用 AC_FL_RunContent() 函数嵌入对 SWF 文件的引用,并且您需要添加 allowFullScreen 参数设置,如下所示:
AC_FL_RunContent( ... "allowFullScreen", "true", ... )
Stage.displayState。当 Flash Player 处于全屏模式时,将禁用所有键盘输入(可使用户退出全屏模式的键盘快捷键除外)。当用户进入全屏模式时,将在影片前面显示一个 Flash Player 对话框,告诉用户已经进入了全屏模式,并可以按 Esc 键退出全屏模式。wmode)设置为不透明无窗口 (opaque) 或透明无窗口 (transparent),则可以启动全屏模式,但全屏窗口始终是不透明的。对于在独立 Flash Player 或 AIR 中运行的 SWF 内容,不存在这些限制。AIR 支持允许键盘输入的交互式全屏模式。
对于以全屏模式运行的 AIR 内容,在播放视频内容时,将禁用系统屏幕保护程序和节能选项,直到该视频停止或退出全屏幕模式。
SecurityError — 调用 Stage 对象的 displayState 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。在已显示设置对话框但用户没有响应时,尝试设置 displayState 属性 (property),或者如果 param 或 embed HTML 标签的 allowFullScreen 属性 (attribute) 没有设置为 true,则引发安全错误。
|
另请参见
| focus | 属性 |
focus:InteractiveObject [读写]
具有键盘焦点的交互式对象;如果没有设置焦点,或者具有焦点的对象属于调用对象无权访问的安全沙箱,则为 null。
Error — 如果不能将焦点设置到目标,则会引发错误。
|
| frameRate | 属性 |
frameRate:Number [读写] 获取并设置舞台的帧频。帧频是指每秒显示的帧数。默认情况下,频率设置为第一个加载的 SWF 文件的帧频。帧频的有效范围为每秒 0.01 到 1000 个帧。
注意:应用程序可能由于以下原因而无法支持高帧速率设置:目标平台不够快或播放器与显示设备的垂直空白时间(在 LCD 设备上通常为 60 Hz)同步。在某些情况下,如果目标平台将占用高 CPU 使用率,它可能还会选择降低最大帧率。
对于在 Adobe AIR 中运行的内容,设置一个 Stage 对象的 frameRate 属性会更改所有 Stage 对象(由不同的 NativeWindow 对象使用)的帧速率。
SecurityError — 调用 Stage 对象的 frameRate 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| fullScreenHeight | 属性 |
fullScreenHeight:uint [只读 (read-only)] 返回变为全屏大小时使用的显示器高度(如果立即进入该状态)。如果用户有多台显示器,则使用的显示器是此时显示大部分舞台的显示器。
注意:在检索值和变为全屏大小之间,如果用户有机会将浏览器从一台显示器移到另一台显示器,则该值可能不正确。如果在将 Stage.displayState 设置为 StageDisplayState.FULL_SCREEN 的事件处理函数中检索值,则该值是正确的。
如果将 Stage.align 设置为 StageAlign.TOP_LEFT 并将 Stage.scaleMode 设置为 StageScaleMode.NO_SCALE,则该值是显示器的像素高度并且与舞台高度相同。
另请参见
| fullScreenSourceRect | 属性 |
fullScreenSourceRect:Rectangle [读写] 设置 Flash Player 以将特定的舞台区域放大到全屏模式。如果可用,Flash Player 将使用硬件进行缩放(它使用用户计算机上的图形和视频卡),通常其内容显示速度比软件缩放快。
如果将此属性设置为有效矩形并将 displayState 属性设置为全屏模式,Flash Player 将对指定区域进行缩放。ActionScript 中的实际舞台大小(以像素为单位)不会发生改变。Flash Player 对矩形大小强制规定了最小限制,以容纳标准的“按 Esc 退出全屏模式”消息。通常,此限制大约为 260 x 30 个像素,但可能会随平台和 Flash Player 版本的不同而发生变化。
仅当 Flash Player 未处于全屏模式时,才能设置此属性。若要正确使用此属性,应先设置此属性,然后将 displayState 属性设置为全屏模式,如代码示例中所示。
若要启用缩放功能,请将 fullScreenSourceRect 属性设置为矩形对象:
// valid, will enable hardware scaling stage.fullScreenSourceRect = new Rectangle(0,0,320,240);
若要禁用缩放功能,请在 ActionScript 3.0 中设置 fullScreenSourceRect=null,而在 ActionScript 2.0 中设置 undefined。
stage.fullScreenSourceRect = null;
最终用户还可以在“Flash Player 显示设置”中进行选择以关闭硬件缩放功能,默认情况下,将启用此功能。有关详细信息,请参阅 www.adobe.com/go/display_settings_cn。
另请参见
| fullScreenWidth | 属性 |
fullScreenWidth:uint [只读 (read-only)] 返回变为全屏大小时使用的显示器宽度(如果立即进入该状态)。如果用户有多台显示器,则使用的显示器是此时显示大部分舞台的显示器。
注意:在检索值和变为全屏大小之间,如果用户有机会将浏览器从一台显示器移到另一台显示器,则该值可能不正确。如果在将 Stage.displayState 设置为 StageDisplayState.FULL_SCREEN 的事件处理函数中检索值,则该值是正确的。
如果将 Stage.align 设置为 StageAlign.TOP_LEFT 并将 Stage.scaleMode 设置为 StageScaleMode.NO_SCALE,则该值是显示器的像素宽度并且与舞台宽度相同。
另请参见
| height | 属性 |
height:Number [读写]
指示显示对象的高度,以像素为单位。高度是根据显示对象内容的范围来计算的。如果您设置了 height 属性,则 scaleY 属性会相应调整,如以下代码所示:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleY) // 1; rect.height = 200; trace(rect.scaleY) // 2;
除 TextField 和 Video 对象以外,没有内容的显示对象(如一个空的 Sprite)的高度为 0,即使您尝试将 height 设置为其它值,也是这样。
SecurityError — 引用 Stage 对象的 height 属性会因任何调用者没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
| |
IllegalOperationError — 即使调用对象是 Stage 所有者(主 SWF 文件),设置 Stage 对象的 height 属性也是非法的。
|
| mouseChildren | 属性 |
mouseChildren:Boolean [读写]
确定对象的子项是否支持鼠标。如果对象支持鼠标,则用户可以使用鼠标与其交互。默认值为 true。
当您使用 Sprite 类的实例(而不是使用 SimpleButton 类)来创建按钮时,此属性很有用。当您使用 Sprite 实例来创建按钮时,您可以选择使用 addChild() 方法添加其它 Sprite 实例来修饰按钮。此过程可能导致鼠标事件出现意外行为,因为当您期望父实例成为鼠标事件的目标对象时,作为子项添加的 Sprite 实例却可能成为目标对象。要确保父实例用作鼠标事件的目标对象,您可以将父实例的 mouseChildren 属性设置为 false。
设置此属性不会调度任何事件。您必须使用 addEventListener() 方法才能创建交互式功能。
SecurityError — 引用 Stage 对象的 mouseChildren 属性会因任何调用者没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| nativeWindow | 属性 |
nativeWindow:NativeWindow [只读 (read-only)] 对包含此舞台的 NativeWindow 对象的引用。
窗口表示本机操作系统的窗口,舞台表示窗口所包含的内容。此属性只对在 AIR 中运行的内容有效。在 Flash Player 中(在浏览器中运行的内容),此属性将为 null。
| numChildren | 属性 |
numChildren:int [只读 (read-only)] 返回此对象的子项数目。
SecurityError — 引用 Stage 对象的 numChildren 属性会因任何调用者没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| quality | 属性 |
quality:String [读写] StageQuality 类中的一个用于指定使用哪种呈现品质的值。以下是有效值:
StageQuality.LOW -- 低呈现品质。不消除图形的锯齿,位图不进行平滑处理。Adobe AIR 中不支持此设置。StageQuality.MEDIUM -- 中等呈现品质。使用 2 x 2 像素网格消除图形锯齿,但不对位图进行平滑处理。此设置适用于不包含文本的影片。Adobe AIR 中不支持此设置。StageQuality.HIGH -- 高呈现品质。使用 4 x 4 像素网格消除图形锯齿,如果影片是静态的,则对位图进行平滑处理。这是 Flash Player 使用的默认呈现品质设置。StageQuality.BEST -- 极高呈现品质。使用 4 x 4 像素网格消除图形锯齿,并且始终对位图进行平滑处理。较高的品质设置可以使缩放的位图得到较好的呈现品质。不过,较高的品质设置从运算角度看更昂贵。尤其在呈现缩放的视频时,使用较高的品质设置可以降低帧速率。
对于在 Adobe AIR 中运行的内容,可以将 quality 设置为 StageQuality.BEST 或 StageQuality.HIGH(默认值为 StageQuality.HIGH)。试图将其设置为其他值没有任何效果(且该属性保持不变)。
对于在 Adobe AIR 中运行的内容,设置一个 Stage 对象的 quality 属性会更改所有 Stage 对象(由不同的 NativeWindow 对象使用)的呈现品质。
quality 属性的影响。
SecurityError — 调用 Stage 对象的 quality 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| scaleMode | 属性 |
scaleMode:String [读写] 一个 StageScaleMode 类中指定要使用哪种缩放模式的值。以下是有效值:
StageScaleMode.EXACT_FIT — 整个 Flash 应用程序在指定区域中可见,但不尝试保持原始高宽比。可能会发生扭曲,应用程序可能会拉伸或压缩显示。
StageScaleMode.SHOW_ALL — 整个 Flash 应用程序在指定区域中可见,且不发生扭曲,同时保持应用程序的原始高宽比。应用程序的两侧可能会显示边框。
StageScaleMode.NO_BORDER -- 整个 Flash 应用程序填满指定区域,不发生扭曲,但有可能进行一些裁切,同时保持应用程序的原始高宽比。
StageScaleMode.NO_SCALE -- 整个 Flash 应用程序的大小固定,因此,即使播放器窗口的大小更改,它也会保持不变。 如果播放器窗口比内容小,则可能进行一些裁切。
SecurityError — 调用 Stage 对象的 scaleMode 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| showDefaultContextMenu | 属性 |
showDefaultContextMenu:Boolean [读写] 指定显示或隐藏 Flash Player 上下文菜单中的默认项。
如果将 showDefaultContextMenu 属性设置为 true(默认设置),则会显示所有上下文菜单项。如果将 showDefaultContextMenu 属性设置为 false,则只显示“设置”和“关于 Adobe Flash Player”菜单项。
SecurityError — 调用 Stage 对象的 showDefaultContextMenu 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| stageFocusRect | 属性 |
stageFocusRect:Boolean [读写] 指定对象在具有焦点时是否显示加亮的边框。
SecurityError — 调用 Stage 对象的 stageFocusRect 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| stageHeight | 属性 |
stageHeight:int [读写] 舞台的当前高度(以像素为单位)。
如果将 Stage.scaleMode 属性的值设置 StageScaleMode.NO_SCALE,则当用户调整该窗口的大小时,舞台内容将保持其大小,而 stageHeight 属性将发生更改以反映由 SWF 文件占用的屏幕区域的新高度大小。(在其他缩放模式中,stageHeight 属性始终反映 SWF 文件的原始高度。)您可以为 resize 事件添加事件侦听器,然后使用 Stage 类的 stageHeight 属性来确定调整大小后的 Flash Player 窗口的实际像素尺寸。使用该事件侦听器可以控制用户调整窗口大小时屏幕内容的调整方式。
注意:在承载 SWF 文件的 HTML 页上,object 和 embed 标签的 height 属性必须设置为一个百分数(比如 100%),而不是像素。如果该设置是由 JavaScript 代码生成的,则 AC_FL_RunContent() 方法的 height 参数也必须设置为百分数。此百分数应用于 stageHeight 值。
SecurityError — 调用 Stage 对象的 stageHeight 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| stageWidth | 属性 |
stageWidth:int [读写] 指定舞台的当前宽度(以像素为单位)。
如果将 Stage.scaleMode 属性的值设置 StageScaleMode.NO_SCALE,则当用户调整该窗口的大小时,舞台内容将保持其定义的大小,而 stageWidth 属性将发生更改以反映由 SWF 文件占用的屏幕区域的新宽度大小。(在其他缩放模式中,stageWidth 属性始终反映 SWF 文件的原始宽度。)您可以为 resize 事件添加事件侦听器,然后使用 Stage 类的 stageWidth 属性来确定调整大小后的 Flash Player 窗口的实际像素尺寸。使用该事件侦听器可以控制用户调整窗口大小时屏幕内容的调整方式。
注意:在承载 SWF 文件的 HTML 页上,object 和 embed 标签的 width 属性必须设置为一个百分数(比如 100%),而不是像素。如果该设置是由 JavaScript 代码生成的,则 AC_FL_RunContent() 方法的 width 参数也必须设置为百分数。此百分数应用于 stageWidth 值。
SecurityError — 调用 Stage 对象的 stageWidth 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| tabChildren | 属性 |
tabChildren:Boolean [读写]
确定对象的子项是否支持 Tab 键。为对象的子项启用或禁用 Tab 切换。默认值为 true。
SecurityError — 引用 Stage 对象的 tabChildren 属性会因任何调用者没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| textSnapshot | 属性 |
textSnapshot:TextSnapshot [只读 (read-only)] 返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。
IllegalOperationError — 引用 Stage 对象的 textSnapshot 属性会因 Stage 类未实现该属性而引发异常。为避免出现这种情况,请调用显示对象容器而非 Stage 对象的 textSnapshot 属性。
|
| width | 属性 |
width:Number [读写]
指示显示对象的宽度,以像素为单位。宽度是根据显示对象内容的范围来计算的。如果您设置了 width 属性,则 scaleX 属性会相应调整,如以下代码所示:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleX) // 1; rect.width = 200; trace(rect.scaleX) // 2;
除 TextField 和 Video 对象以外,没有内容的显示对象(如一个空的 Sprite)的宽度为 0,即使您尝试将 width 设置为其它值,也是这样。
SecurityError — 引用 Stage 对象的 width 属性会因任何调用者没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
| |
IllegalOperationError — 即使您是 Stage 所有者,设置 Stage 对象的 width 属性也是非法的。
|
| addChild | () | 方法 |
function addChild(child:DisplayObject):DisplayObject
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。子项将被添加到该 DisplayObjectContainer 实例中其它所有子项的前(上)面。(要将某子项添加到特定索引位置,请使用 addChildAt() 方法。)
如果添加一个已将其它显示对象容器作为父项的子对象,则会从其它显示对象容器的子列表中删除该对象。
参数
child:DisplayObject — 要作为该 DisplayObjectContainer 实例的子项添加的 DisplayObject 实例。
|
DisplayObject — 在 child 参数中传递的 DisplayObject 实例。
|
SecurityError — 调用 Stage 对象的 addChild() 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| addChildAt | () | 方法 |
function addChildAt(child:DisplayObject, index:int):DisplayObject将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。该子项将被添加到指定的索引位置。索引为 0 表示该 DisplayObjectContainer 对象的显示列表的后(底)部。
例如,下例在索引位置 0、2、1 处分别显示 a、b、c 三个显示对象:

如果添加一个已将其它显示对象容器作为父项的子对象,则会从其它显示对象容器的子列表中删除该对象。
参数
child:DisplayObject — 要作为该 DisplayObjectContainer 实例的子项添加的 DisplayObject 实例。
| |
index:int — 添加该子项的索引位置。如果指定当前占用的索引位置,则该位置以及所有更高位置上的子对象会在子级列表中上移一个位置。
|
DisplayObject — 在 child 参数中传递的 DisplayObject 实例。
|
SecurityError — 调用 Stage 对象的 addChildAt() 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| addEventListener | () | 方法 |
function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 可以为特定类型的事件、阶段和优先级在显示列表的所有节点上注册事件侦听器。
AIR 运行时中的 JavaScript 代码使用此方法注册 AIR API 定义的事件的事件侦听器。对于其它 JavaScript 事件(如 DOM body 对象的 onload 事件),您可以像对浏览器中运行的内容一样使用标准事件处理技术。
成功注册一个事件侦听器后,无法通过额外调用 addEventListener() 来更改其优先级。 要更改侦听器的优先级,必须首先调用 removeListener()。然后,可以使用新的优先级再次注册该侦听器。
请记住,注册该侦听器后,如果继续调用具有不同 type 或 useCapture 值的 addEventListener(),则会创建单独的侦听器注册。 例如,如果首先注册 useCapture 设置为 true 的侦听器,则该侦听器只在捕获阶段进行侦听。 如果使用同一个侦听器对象再次调用 addEventListener(),并将 useCapture 设置为 false,那么便会拥有两个单独的侦听器:一个在捕获阶段进行侦听,另一个在目标和冒泡阶段进行侦听。
不能只为目标阶段或冒泡阶段注册事件侦听器。 这些阶段在注册期间是成对出现的,因为冒泡阶段只适用于目标节点的始祖。
如果不再需要某个事件侦听器,可调用 removeEventListener() 删除它,否则会产生内存问题。由于垃圾回收器不会删除仍包含引用的对象,因此不会从内存中自动删除使用已注册事件侦听器的对象。
复制 EventDispatcher 实例时并不复制其中附加的事件侦听器。(如果新近创建的节点需要一个事件侦听器,必须在创建该节点后附加该侦听器。) 但是,如果移动 EventDispatcher 实例,则其中附加的事件侦听器也会随之移动。
如果在正在处理事件的节点上注册事件侦听器,则不会在当前阶段触发事件侦听器,但会在事件流的稍后阶段触发,如冒泡阶段。
如果从正在处理事件的节点中删除事件侦听器,则该事件侦听器仍由当前操作触发。删除事件侦听器后,决不会再次调用该事件侦听器(除非再次注册以备将来处理)。
参数
type:String — 事件的类型。
| |
listener:Function — 处理事件的侦听器函数。 此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如下面的示例所示: 。
function(evt:Event):void 函数可以有任何名称。 | |
useCapture:Boolean (default = false) — 此参数适用于 SWF 内容所使用的 ActionScript 3.0 显示列表体系结构中的显示对象。确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。 如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。 如果 useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。 要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false。
| |
priority:int (default = 0) — 事件侦听器的优先级。 优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。
| |
useWeakReference:Boolean (default = false) — 确定对侦听器的引用是强引用,还是弱引用。强引用(默认值)可防止您的侦听器被当作垃圾回收。弱引用则没有此作用。 类级别成员函数不属于垃圾回收的对象,因此可以对类级别成员函数将 |
SecurityError — 调用 Stage 对象的 addEventListener 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
另请参见
| assignFocus | () | 方法 |
function assignFocus(objectToFocus:InteractiveObject, direction:String):void
将键盘焦点设置为由 objectToFocus 指定的交互式对象,焦点方向由 direction 参数指定。
焦点方向的概念必须由应用程序(或应用程序框架)来定义。虽然可以使用其他可用的属性来确定排序原则,但交互式对象并不存在固有的焦点排序。例如,您可以按照交互式对象在舞台上或在显示列表中的位置对这些对象进行排序。调用 assignFocus() 等效于设置 Stage.focus 属性,但它还具有另外的功能,可以指示设置焦点时所使用的方向。
在接收焦点时,objectToFocus 将调度 focusIn 事件。FocusEvent 对象的 direction 属性将报告 direction 参数的设置。
如果将 HTMLLoader 对象赋予 objectToFocus 参数,则 HTMLLoader 对象会根据 direction 参数值在 HTML DOM 中选择适当的可获得焦点对象。如果该参数值为 FocusDirection.BOTTOM,则 HTML DOM 中位于读取顺序末尾的可获得焦点对象将获得焦点。如果该参数值为 FocusDirection.TOP,则 HTML DOM 中位于读取顺序开头的可获得焦点对象将获得焦点。如果该参数值为 NONE,则 HTMLLoader 对象会在不更改其当前已设置焦点元素的情况下获得焦点。
参数
objectToFocus:InteractiveObject — 要设置焦点的对象;如果要从舞台上任何元素中清除焦点,则为 null。
| |
direction:String — 对 objectToFocus 设置焦点所使用的方向。有效值枚举为 FocusDirection 类中的常数。
|
Error — 如果无法将焦点设置到目标或 direction 不是有效的类型。
|
另请参见
| dispatchEvent | () | 方法 |
function dispatchEvent(event:Event):Boolean
将事件调度到事件流中。事件目标是对其调用 dispatchEvent() 方法的 EventDispatcher 对象。
参数
event:Event — 调度到事件流中的 Event 对象。如果正在重新调度事件,则会自动创建此事件的一个克隆。在调度了事件后,其 target 属性将无法更改,因此您必须创建此事件的一个新副本以能够重新调度。
|
Boolean — 如果成功调度了事件,则值为 true。值 false 表示失败或对事件调用了 preventDefault()。
|
SecurityError — 调用 Stage 对象的 dispatchEvent() 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| hasEventListener | () | 方法 |
function hasEventListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。这样,您就可以确定 EventDispatcher 对象在事件流层次结构中的哪个位置改变了对事件类型的处理。要确定特定事件类型是否确实触发了事件侦听器,请使用 willTrigger()。
hasEventListener() 与 willTrigger() 的区别是:hasEventListener() 只检查它所属的对象,而 willTrigger() 检查整个事件流以查找由 type 参数指定的事件。事件流适用于 SWF 内容中使用的 ActionScript 3.0 显示列表。
当从 LoaderInfo 对象调用 hasEventListener() 时,只考虑调用方可以访问的侦听器。
参数
type:String — 事件的类型。
|
Boolean — 如果指定类型的侦听器已注册,则值为 true;否则,值为 false。
|
SecurityError — 调用 Stage 对象的 hasEventListener() 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| invalidate | () | 方法 |
function invalidate():void
调用 invalidate() 方法,以便在出现下一个 Flash Player 必须呈现显示列表的时机(例如,当播放头前进到一个新帧)时,向其发出提醒显示对象的信号。调用 invalidate() 方法后,在显示列表下次呈现时,Flash Player 会向每个已注册侦听 render 事件的显示对象发送一个 render 事件。每次想让 Flash Player 发送 render 事件时,都必须调用 invalidate() 方法。
render 事件使您可以在显示列表实际呈现前对其进行更改。因此,您就可以将对显示列表的更新尽可能地向后延迟。这样可以通过消除不必要的屏幕更新来提高性能。
只将 render 事件调度到与调用 stage.invalidate() 方法的代码位于同一安全域中的显示对象,或位于通过 Security.allowDomain() 方法被授予权限的安全域中的显示对象。
另请参见
| isFocusInaccessible | () | 方法 |
function isFocusInaccessible():Boolean
确定 Stage.focus 属性是否因某些安全原因返回 null。也就是说,如果具有焦点的对象属于 SWF 文件无权访问的安全沙箱,那么 isFocusInaccessible 就会返回 true。
Boolean — true(如果具有焦点的对象属于 SWF 文件无权访问的安全沙箱)。
|
| removeChildAt | () | 方法 |
function removeChildAt(index:int):DisplayObject
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。将已删除子项的 parent 属性设置为 null;如果没有对该子项的任何其它引用,则将该对象作为垃圾回收。DisplayObjectContainer 中该子项之上的任何显示对象的索引位置都减去 1。
垃圾回收器重新分配未使用的内存空间。当在某处变量或对象不再被主动地引用或存储时,垃圾回收器将清理其过去占用的内存空间,并且如果不存在对该变量或对象的任何其它引用,则擦除此内存空间。
参数
index:int — 要删除的 DisplayObject 的子索引。
|
DisplayObject — 已删除的 DisplayObject 实例。
|
SecurityError — 调用 Stage 对象的 removeChildAt() 方法会因任何调用方没有与要删除的对象位于同一个安全沙箱而引发异常。为避免出现这种情况,该对象的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| setChildIndex | () | 方法 |
function setChildIndex(child:DisplayObject, index:int):void更改现有子项在显示对象容器中的位置。这会影响子对象的分层。例如,下例在索引位置 0、1、2 处分别显示 a、b、c 三个显示对象:

在使用 setChildIndex() 方法并指定一个已经占用的索引位置时,唯一发生更改的位置是显示对象先前的位置和新位置之间的位置。所有其他位置将保持不变。如果将一个子项移动到比它当前的索引更低的索引处,则这两个索引之间的所有子项的索引引用都将增加 1。如果将一个子项移动到比它当前的索引更高的索引处,则这两个索引之间的所有子项的索引引用都将减小 1。例如,如果上例中的显示对象容器名为 container,则可以通过调用以下代码来交换带有 a 和 b 标记的显示对象的位置:
container.setChildIndex(container.getChildAt(1), 0);
该代码产生以下对象排列:

参数
child:DisplayObject — 要为其更改索引编号的 DisplayObject 子实例。
| |
index:int — 生成的 child 显示对象的索引编号。
|
SecurityError — 调用 Stage 对象的 setChildIndex() 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| swapChildrenAt | () | 方法 |
function swapChildrenAt(index1:int, index2:int):void在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。显示对象容器中所有其它子对象的索引位置保持不变。
参数
index1:int — 第一个子对象的索引位置。
| |
index2:int — 第二个子对象的索引位置。
|
SecurityError — 调用 Stage 对象的 swapChildrenAt() 方法会因任何调用方没有与要互换的任一对象的所有者位于同一安全沙箱而引发异常。为避免出现这种情况,对象所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| willTrigger | () | 方法 |
function willTrigger(type:String):Boolean
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。将指定类型的事件调度给此 EventDispatcher 对象或其任一后代时,如果在事件流的任何阶段触发了事件侦听器,则此方法返回 true。
hasEventListener() 与 willTrigger() 方法的区别是:hasEventListener() 只检查它所属的对象,而 willTrigger() 方法检查整个事件流以查找由 type 参数指定的事件。事件流适用于 SWF 内容中使用的 ActionScript 3.0 显示列表。
当从 LoaderInfo 对象调用 willTrigger() 时,只考虑调用方可以访问的侦听器。
参数
type:String — 事件的类型。
|
Boolean — 如果将会触发指定类型的侦听器,则值为 true;否则,值为 false。
|
SecurityError — 调用 Stage 对象的 willTrigger() 方法会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一个安全沙箱而引发异常。为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。
|
| fullScreen | 事件 |
flash.events.FullScreenEventflash.events.FullScreenEvent.FULL_SCREEN当 Stage 对象进入或离开全屏模式时调度。可以通过 ActionScript、或用户调用键盘快捷键或者当前焦点离开全屏窗口来启动全屏模式的更改。
FullScreenEvent.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
fullScreen | 如果显示状态为全屏,则为 true;如果正常显示,则为 false。 |
bubbles | false |
cancelable | false;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | Stage 对象。 |
| mouseLeave | 事件 |
flash.events.Eventflash.events.Event.MOUSE_LEAVE当鼠标指针移出舞台区域时由 Stage 对象进行调度。
Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | Stage 对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。 |
| resize | 事件 |
flash.events.Eventflash.events.Event.RESIZE
当 Stage 对象的 scaleMode 属性设置为 StageScaleMode.NO_SCALE 且 SWF 文件大小经过重新调整时进行调度。
Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | Stage 对象。 |