| 包 | flash.display |
| 类 | public class Stage |
| 继承 | Stage DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| 语言版本 : | ActionScript 3.0 |
| Player 版本 : | Flash Player 9 |
无法以全局方式访问 Stage 对象。 而是需要利用 DisplayObject 实例的 stage 属性进行访问。
Stage 类具有多个始祖类 -- DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher,属性和方法便是从这些类继承而来的。 从这些继承的许多属性和方法不适用于 Stage 对象,或在调用 Stage 类时需要安全检查。 需要安全检查的属性和方法被记录为 Stage 类的一部分。
此外,下面的继承属性不适用于 Stage 对象。 如果尝试设置这些属性,便会引发 IllegalOperationError。 这些属性通常可以读取,但是由于无法进行设置,所以它们将始终包含默认值。
accessibilityPropertiesalphablendModecacheAsBitmapcontextMenufiltersfocusRectloaderInfomaskmouseEnablednameopaqueBackgroundrotationscale9GridscaleXscaleYscrollRecttabEnabledtabIndextransformvisiblexy另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
| DisplayObject | |
| align : String
一个 StageAlign 类中指定舞台在 Flash Player 或浏览器中的对齐方式的值。
| Stage | ||
![]() | alpha : Number
指示指定对象的 Alpha 透明度值。
| DisplayObject | |
![]() | blendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
| DisplayObject | |
![]() | cacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
| DisplayObject | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。
| Object | |
![]() | contextMenu : ContextMenu
指定与此对象相关联的上下文菜单。
| InteractiveObject | |
| displayState : String
用于指定要使用哪个显示状态的 StageDisplayState 类的值。
| Stage | ||
![]() | doubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。
| InteractiveObject | |
![]() | filters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。
| DisplayObject | |
| focus : InteractiveObject
具有键盘焦点的交互式对象;如果没有设置焦点,或者具有焦点的对象属于调用对象无权访问的安全沙箱,则为 null。
| Stage | ||
![]() | focusRect : Object
指定此对象是否显示焦点矩形。
| InteractiveObject | |
| frameRate : Number
获取并设置舞台的帧频。
| 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 | |
| numChildren : int
[read-only]
返回此对象的子项数目。
| Stage | ||
![]() | opaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。
| DisplayObject | |
![]() | parent : DisplayObjectContainer
[read-only]
指示包含此显示对象的 DisplayObjectContainer 对象。
| DisplayObject | |
![]() | prototype : Object
[static]
对类或函数对象的原型对象的引用。
| Object | |
| quality : String
一个 StageQuality 类中指定 Flash Player 使用哪种呈现品质的值。
| 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 | |
| 方法 | 定义方 | ||
|---|---|---|---|
|
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
| Stage | ||
|
将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中。
| Stage | ||
|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
| Stage | ||
![]() |
指示安全限制是否会导致出现以下情况:在列表中忽略了使用指定 point 点调用 DisplayObjectContainer.getObjectsUnderPoint() 方法时返回的所有显示对象。
| DisplayObjectContainer | |
![]() |
确定指定显示对象是 DisplayObjectContainer 实例的子项还是该实例本身。
| DisplayObjectContainer | |
|
将事件调度到事件流中。
| Stage | ||
![]() |
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。
| DisplayObject | |
![]() |
返回位于指定索引处的子显示对象实例。
| DisplayObjectContainer | |
![]() |
返回具有指定名称的子显示对象。
| DisplayObjectContainer | |
![]() |
返回 DisplayObject 的 child 实例的索引位置。
| DisplayObjectContainer | |
![]() |
返回对象的数组,这些对象位于指定点下,并且是该 DisplayObjectContainer 实例的子项(或孙子项,依此类推)。
| DisplayObjectContainer | |
![]() |
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。
| DisplayObject | |
![]() |
将 point 对象从舞台(全局)坐标转换为显示对象的(本地)坐标。
| DisplayObject | |
|
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| Stage | ||
![]() |
指示对象是否已经定义了指定的属性。
| Object | |
![]() |
计算显示对象,以确定它是否与 obj 显示对象重叠或相交。
| DisplayObject | |
![]() |
计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。
| DisplayObject | |
|
调用 invalidate() 方法,以便在出现下一个 Flash Player 必须呈现显示列表的时机(例如,当播放头前进到一个新帧)时,向其发出提醒显示对象的信号。
| Stage | ||
|
确定 Stage.focus 属性是否因某些安全原因返回 null。
| Stage | ||
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。
| Object | |
![]() |
将 point 对象从显示对象的(本地)坐标转换为舞台(全局)坐标。
| DisplayObject | |
![]() |
指示指定的属性是否存在、是否可枚举。
| Object | |
![]() |
从 DisplayObjectContainer 实例的子列表中删除指定的 child DisplayObject 实例。
| DisplayObjectContainer | |
|
从 DisplayObjectContainer 的子列表中指定的 index 位置删除子 DisplayObject。
| Stage | ||
![]() |
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | |
|
更改现有子项在显示对象容器中的位置。
| Stage | ||
![]() |
设置循环操作动态属性的可用性。
| Object | |
![]() |
交换两个指定子对象的 Z 轴顺序(从前到后顺序)。
| DisplayObjectContainer | |
|
在子级列表中两个指定的索引位置,交换子对象的 Z 轴顺序(前后顺序)。
| Stage | ||
![]() |
返回指定对象的字符串表示形式。
| Object | |
![]() |
返回指定对象的原始值。
| Object | |
|
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
| Stage | ||
| 事件 | 摘要 | 定义方 | ||
|---|---|---|---|---|
![]() | Flash Player 获得操作系统焦点并变为活动状态时调度。 | EventDispatcher | ||
![]() | 将显示对象添加到显示列表中时调度。 | DisplayObject | ||
![]() | 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。 | DisplayObject | ||
![]() | 用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。 | InteractiveObject | ||
![]() | Flash Player 失去操作系统焦点并变为非活动状态时调度。 | EventDispatcher | ||
![]() | 如果 InteractiveObject 的 doubleClickEnabled 标志设置为 true,当用户在该对象上快速连续按下两次并释放指针设备的主按钮时调度。 | InteractiveObject | ||
![]() | 播放头进入新帧时调度。 | DisplayObject | ||
![]() | 显示对象获得焦点后调度。 | InteractiveObject | ||
![]() | 显示对象失去焦点后调度。 | InteractiveObject | ||
| 当 Stage 对象进入或离开全屏模式时由 Flash Player 调度。 | Stage | |||
![]() | 用户按下某个键时调度。 | InteractiveObject | ||
![]() | 用户尝试使用键盘导航更改焦点时调度。 | InteractiveObject | ||
![]() | 用户释放某个键时调度。 | InteractiveObject | ||
![]() | 在 Flash Player 窗口中,用户在 InteractiveObject 实例上按下指针设备按钮时调度。 | InteractiveObject | ||
![]() | 用户尝试使用指针设备更改焦点时调度。 | InteractiveObject | ||
| 当鼠标指针移出 Flash Player 窗口区域时由 Stage 对象进行调度。 | Stage | |||
![]() | 用户移动 InteractiveObject 上的指针设备时调度。 | InteractiveObject | ||
![]() | 用户将指针设备从 InteractiveObject 实例上移开时调度。 | InteractiveObject | ||
![]() | 在 Flash Player 窗口中,用户将指针设备移动到 InteractiveObject 实例上时调度。 | InteractiveObject | ||
![]() | 在 Flash Player 窗口中,用户在 InteractiveObject 实例上释放指针设备按钮时调度。 | InteractiveObject | ||
![]() | 在 Flash Player 窗口中,鼠标滚轮滚动到 InteractiveObject 实例上时调度。 | InteractiveObject | ||
![]() | 将要从显示列表中删除显示对象时调度。 | DisplayObject | ||
![]() | 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。 | DisplayObject | ||
![]() | 将要更新和呈现显示列表时调度。 | DisplayObject | ||
| 当 Stage 对象的 scaleMode 属性设置为 StageScaleMode.NO_SCALE 且 SWF 文件大小经过重新调整时进行调度。 | Stage | |||
![]() | 用户将指针设备从 InteractiveObject 实例上移开时调度。 | InteractiveObject | ||
![]() | 用户将指针设备移动到 InteractiveObject 实例上时调度。 | InteractiveObject | ||
![]() | 对象的 tabChildren 标志值发生更改时调度。 | InteractiveObject | ||
![]() | 对象的 tabEnabled 标志发生更改时调度。 | InteractiveObject | ||
![]() | 对象的 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 类的值。 以下是有效值:
StageDisplayState.FULL_SCREEN 将 Flash Player 设置为把舞台扩展到用户的整个屏幕。StageDisplayState.NORMAL 将播放器设置回标准的舞台显示模式。影片在全屏模式下的缩放行为由 scaleMode 设置确定(在 HTML 文件中使用 Stage.scaleMode 属性或 SWF 文件的 embed 标签设置进行设置)。 如果 scaleMode 属性设置为 noScale,同时 Flash Player 过渡到全屏模式,则会更新 Stage width 和 height 属性,并且 Flash Player 将调度 Stage.resize 事件。
在 HTML 页中播放的 SWF 文件(而不是使用独立的 Flash Player 播放的 SWF 文件)受以下限制:
allowFullScreen 参数添加到包含 SWF 文件的 HTML 页中的 object 和 embed 标签,同时将 allowFullScreen 设置为 "true",如下例所示:
<param name="allowFullScreen" value="true" />
...
<embed src="example.swf" allowFullScreen="true" ... >HTML 页还可以使用脚本生成 SWF 嵌入标签。 您需要更改脚本以使其插入正确的 allowNetworking 设置。 Flash 和 Flex Builder 生成的 HTML 页使用 AC_FL_RunContent() 函数嵌入对 SWF 文件的引用,而且您需要添加 allowNetworking 参数设置,如下所示:
AC_FL_RunContent( ... "allowFullScreen", "true", ... )
Stage.displayState。 当 Flash Player 处于全屏模式时,将禁用所有键盘输入(可使用户退出全屏模式的键盘快捷键除外)。 当用户进入全屏模式时,将在影片前面显示一个 Flash Player 对话框,告诉用户已经进入了全屏模式,并可以按 Esc 键退出全屏模式。 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),或者如果 param 或 embed 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