flash.display
public class Stage
继承Stage Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

Stage 类代表主绘图区。 舞台表示显示 Flash ® 内容的整个区域。

无法以全局方式访问 Stage 对象。 而是需要利用 DisplayObject 实例的 stage 属性进行访问。

Stage 类具有多个始祖类 -- DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher,属性和方法便是从这些类继承而来的。 从这些继承的许多属性和方法不适用于 Stage 对象,或在调用 Stage 类时需要安全检查。 需要安全检查的属性和方法被记录为 Stage 类的一部分。

此外,下面的继承属性不适用于 Stage 对象。 如果尝试设置这些属性,便会引发 IllegalOperationError。 这些属性通常可以读取,但是由于无法进行设置,所以它们将始终包含默认值。

查看示例

另请参见

核心显示类
设置舞台属性


公共 属性
 属性定义方
 InheritedaccessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
DisplayObject
  align : String
一个 StageAlign 类中指定舞台在 Flash Player 或浏览器中的对齐方式的值。
Stage
 Inheritedalpha : Number
指示指定对象的 Alpha 透明度值。
DisplayObject
 InheritedblendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
DisplayObject
 InheritedcacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
DisplayObject
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedcontextMenu : ContextMenu
指定与此对象相关联的上下文菜单。
InteractiveObject
  displayState : String
用于指定要使用哪个显示状态的 StageDisplayState 类的值。
Stage
 InheriteddoubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。
InteractiveObject
 Inheritedfilters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。
DisplayObject
  focus : InteractiveObject
具有键盘焦点的交互式对象;如果没有设置焦点,或者具有焦点的对象属于调用对象无权访问的安全沙箱,则为 null。
Stage
 InheritedfocusRect : Object
指定此对象是否显示焦点矩形。
InteractiveObject
  frameRate : Number
获取并设置舞台的帧频。
Stage
  height : Number
指示显示对象的高度,以像素为单位。
Stage
 InheritedloaderInfo : LoaderInfo
[read-only] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。
DisplayObject
 Inheritedmask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。
DisplayObject
  mouseChildren : Boolean
确定对象的子项是否支持鼠标。
Stage
 InheritedmouseEnabled : Boolean
指定此对象是否接收鼠标消息。
InteractiveObject
 InheritedmouseX : Number
[read-only] 指示鼠标位置的 x 坐标,以像素为单位。
DisplayObject
 InheritedmouseY : Number
[read-only] 指示鼠标位置的 y 坐标,以像素为单位。
DisplayObject
 Inheritedname : String
指示 DisplayObject 的实例名称。
DisplayObject
  numChildren : int
[read-only] 返回此对象的子项数目。
Stage
 InheritedopaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] 指示包含此显示对象的 DisplayObjectContainer 对象。
DisplayObject
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
  quality : String
一个 StageQuality 类中指定 Flash Player 使用哪种呈现品质的值。
Stage
 Inheritedroot : DisplayObject
[read-only] 对于加载的 SWF 文件中的显示对象,root 属性是此 SWF 文件所表示的显示列表树结构部分中的顶级显示对象。
DisplayObject
 Inheritedrotation : Number
指示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。
DisplayObject
 Inheritedscale9Grid : Rectangle
当前有效的缩放网格。
DisplayObject
  scaleMode : String
一个 StageScaleMode 类中指定要使用哪种缩放模式的值。
Stage
 InheritedscaleX : Number
指示从注册点开始应用的对象的水平缩放比例(百分比)。
DisplayObject
 InheritedscaleY : Number
指示从对象注册点开始应用的对象的垂直缩放比例(百分比)。
DisplayObject
 InheritedscrollRect : Rectangle
显示对象的滚动矩形范围。
DisplayObject
  showDefaultContextMenu : Boolean
指定显示或隐藏 Flash Player 上下文菜单中的默认项。
Stage
 Inheritedstage : Stage
[read-only] 显示对象的舞台。
DisplayObject
  stageFocusRect : Boolean
指定对象在具有焦点时是否显示加亮的边框。
Stage
  stageHeight : int
舞台的当前高度(以像素为单位)。
Stage
  stageWidth : int
指定舞台的当前宽度(以像素为单位)。
Stage
  tabChildren : Boolean
确定对象的子项是否支持 Tab 键。
Stage
 InheritedtabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。
InteractiveObject
 InheritedtabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。
InteractiveObject
  textSnapshot : TextSnapshot
[read-only] 返回此 DisplayObjectContainer 实例的 TextSnapshot 对象。
Stage
 Inheritedtransform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。
DisplayObject
 Inheritedvisible : Boolean
显示对象是否可见。
DisplayObject
  width : Number
指示显示对象的宽度,以像素为单位。
Stage
 Inheritedx : Number
指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。
DisplayObject
 Inheritedy : Number
指示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。
DisplayObject
公共 方法
 方法定义方
  
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
Stage
  
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
Stage
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
Stage
 Inherited
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。
DisplayObjectContainer
 Inherited
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。
DisplayObjectContainer
  
将事件调度到事件流中。
Stage
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。
DisplayObject
 Inherited
返回位于指定索引处的子显示对象实例。
DisplayObjectContainer
 Inherited
返回具有指定名称的子显示对象。
DisplayObjectContainer
 Inherited
返回 DisplayObject 的 child 实例的索引位置。
DisplayObjectContainer
 Inherited
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。
DisplayObject
 Inherited
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
DisplayObject
  
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
Stage
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
DisplayObject
  
调用 invalidate() 方法,以便在出现下一个 Flash Player 必须呈现显示列表的时机(例如,当播放头前进到一个新帧)时,向其发出提醒显示对象的信号。
Stage
  
确定 Stage.focus 属性是否因某些安全原因返回 null。
Stage
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
DisplayObject
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。
DisplayObjectContainer
  
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。
Stage
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
更改现有子项在显示对象容器中的位置。
Stage
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。
DisplayObjectContainer
  
swapChildrenAt(index1:int, index2:int):void
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。
Stage
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
  
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
Stage
事件
 事件摘要定义方
 Inherited Flash Player 获得操作系统焦点并变为活动状态时调度。EventDispatcher
 Inherited 将显示对象添加到显示列表中时调度。DisplayObject
 Inherited 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。DisplayObject
 Inherited 用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。InteractiveObject
 Inherited Flash Player 失去操作系统焦点并变为非活动状态时调度。EventDispatcher
 Inherited 如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。InteractiveObject
 Inherited 播放头进入新帧时调度。DisplayObject
 Inherited 显示对象获得焦点后调度。InteractiveObject
 Inherited 显示对象失去焦点后调度。InteractiveObject
   当 Stage 对象进入或离开全屏模式时由 Flash Player 调度。Stage
 Inherited 用户按下某个键时调度。InteractiveObject
 Inherited 用户尝试使用键盘导航更改焦点时调度。InteractiveObject
 Inherited 用户释放某个键时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户在 InteractiveObject 实例上按下指针设备按钮时调度。InteractiveObject
 Inherited 用户尝试使用指针设备更改焦点时调度。InteractiveObject
   当鼠标指针移出 Flash Player 窗口区域时由 Stage 对象进行调度。Stage
 Inherited 用户移动 InteractiveObject 上的指针设备时调度。InteractiveObject
 Inherited 用户将指针设备从 InteractiveObject 实例上移开时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户将指针设备移动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,用户在 InteractiveObject 实例上释放指针设备按钮时调度。InteractiveObject
 Inherited 在 Flash Player 窗口中,鼠标滚轮滚动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 将要从显示列表中删除显示对象时调度。DisplayObject
 Inherited 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。DisplayObject
 Inherited 将要更新和呈现显示列表时调度。DisplayObject
   当 Stage 对象的 scaleMode 属性设置为 StageScaleMode.NO_SCALE 且 SWF 文件大小经过重新调整时进行调度。Stage
 Inherited 用户将指针设备从 InteractiveObject 实例上移开时调度。InteractiveObject
 Inherited 用户将指针设备移动到 InteractiveObject 实例上时调度。InteractiveObject
 Inherited 对象的 tabChildren 标志值发生更改时调度。InteractiveObject
 Inherited 对象的 tabEnabled 标志发生更改时调度。InteractiveObject
 Inherited 对象的 tabIndex 属性值发生更改时调度。InteractiveObject
属性详细信息
align属性
align:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

一个 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 编程》中的“安全性”一章。


实现
    public function get align():String
    public function set align(value:String):void

另请参见

displayState属性 
displayState:String  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9.0.28.0

用于指定要使用哪个显示状态的 StageDisplayState 类的值。 以下是有效值:

影片在全屏模式下的缩放行为由 scaleMode 设置确定(在 HTML 文件中使用 Stage.scaleMode 属性或 SWF 文件的 embed 标签设置进行设置)。 如果 scaleMode 属性设置为 noScale,同时 Flash Player 过渡到全屏模式,则会更新 Stage widthheight 属性,并且 Flash Player 将调度 Stage.resize 事件。

在 HTML 页中播放的 SWF 文件(而不是使用独立的 Flash Player 播放的 SWF 文件)受以下限制:


实现
    public function get displayState():String
    public function set displayState(value:String):void

引发
SecurityError — 调用 Stage 对象的 displayState 属性会因任何调用方没有与 Stage 所有者(主 SWF 文件)位于同一安全沙箱而引发异常。 为避免出现这种情况,Stage 的所有者可以通过调用 Security.allowDomain() 方法或 Security.allowInsecureDomain() 方法来向域的调用方授予权限。 有关详细信息,请参阅《ActionScript 3.0 编程》中的“安全性”一章。 在已显示设置对话框但用户没有响应时,尝试设置 displayState 属性 (property),或者如果 paramembed HTML 标签的 allowFullScreen 属性 (attribute) 没有设置为 true,则引发安全错误。

另请参见


示例
如何使用示例

下例以一种交互的方式演示如何通过修改 displayState 属性创造全屏体验。

注意:出于安全方面的限制,只有在某些情况下才能触发全屏,例如,如果用户单击了鼠标或按了键盘键。 在浏览器中运行时,allowFullScreen 属性必须设置为 true。

package {
    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.events.*;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.media.Video;
    
    public class FullScreenExample extends Sprite
    {
        private var videoURL:String = "testVideo.flv";
        private var connection:NetConnection;
        private var stream:NetStream;
        private var video:Video;        
        
        public function FullScreenExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
            
            loaderInfo.addEventListener(Event.INIT, createMouseListener);            
        }

        private function createMouseListener(event:Event):void {
            stage.addEventListener(MouseEvent.CLICK,toggleFullScreen);
        }        
        
        private function toggleFullScreen(event:MouseEvent):void {
            switch(stage.displayState) {
                case "normal":
                    stage.displayState = "fullScreen";    
                    break;
                case "fullScreen":
                default:
                    stage.displayState = "normal";    
                    break;
            }
        }    
        
        // Video related:
        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
        }
        private function connectStream():void {
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);

            video = new Video(stage.stageWidth,stage.stageHeight);
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }
        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }            
    }
}
focus属性 
focus:InteractiveObject  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

具有键盘焦点的交互式对象;如果没有设置焦点,或者具有焦点的对象属于调用对象无权访问的安全沙箱,则为 null


实现
    public function get focus():InteractiveObject
    public function set focus(value:InteractiveObject):void

引发