跳到主要内容

egret.Stage

   egret

   public class Stage

继承    egret.Stage → egret.DisplayObjectContaineregret.DisplayObjectegret.EventDispatcheregret.HashObject

Stage 类代表主绘图区。可以利用 DisplayObject 实例的 stage 属性进行访问。

Stage 类具有多个祖代类: Sprite、DisplayObject 和 EventDispatcher,属性和方法便是从这些类继承而来的。从这些继承的许多属性和方法不适用于 Stage 对象。

公共属性

属性
frameRate : number
获取并设置舞台的帧速率
maxTouches : number
设置屏幕同时可以触摸的数量
orientation : string
屏幕横竖屏显示方式,目前 Native 下只能在配置文件里设置
scaleMode : string
一个 StageScaleMode 类中指定要使用哪种缩放模式的值
stageHeight : number
舞台的当前高度(以像素为单位)
stageWidth : number
舞台的当前宽度(以像素为单位)
textureScaleFactor : number
绘制纹理的缩放比率,默认值为1

公共方法

方法
getImplementation(interfaceName:string):any
invalidate():void
调用 invalidate() 方法后,在显示列表下次呈现时,Egret 会向每个已注册侦听 Event.RENDER 事件的显示对象发送一个 Event.RENDER 事件
registerImplementation(interfaceName:string,instance:any):void
setContentSize(width:number,height:number):void
设置分辨率尺寸

事件

Events
egret.Event.RESIZE
当stageWidth或stageHeight属性发生改变时调度
egret.Event.DEACTIVATE
当stage失去焦点后调度
egret.Event.ACTIVATE
当stage获得焦点后调度
egret.Event.ADDED
将显示对象添加到显示列表中时调度。
egret.Event.ADDED_TO_STAGE
在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。
egret.Event.REMOVED
将要从显示列表中删除显示对象时调度。
egret.Event.REMOVED_FROM_STAGE
在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。
egret.Event.ENTER_FRAME
[广播事件] 播放头进入新帧时调度。
egret.Event.RENDER
[广播事件] 将要更新和呈现显示列表时调度。
egret.TouchEvent.TOUCH_MOVE
当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。
egret.TouchEvent.TOUCH_BEGIN
当用户第一次触摸启用触摸的设备时(例如,用手指触摸手机屏幕)调度。
egret.TouchEvent.TOUCH_END
当用户移除与启用触摸的设备的接触时(例如,将手指从屏幕上抬起)调度。
egret.TouchEvent.TOUCH_TAP
当用户在启用触摸设备上的已启动接触的同一 DisplayObject 实例上抬起接触点时(例如,手机点击屏幕后抬起)调度。
egret.TouchEvent.TOUCH_RELEASE_OUTSIDE
当用户在启用触摸设备上的已启动接触的不同 DisplayObject 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。

属性详细信息

frameRate

frameRate : number = 30

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

获取并设置舞台的帧速率。帧速率是指每秒显示的帧数。帧速率的有效范围为每秒 0.01 到 60 个帧。

注意: 修改任何一个Stage的frameRate属性都会同步修改其他Stage的帧率。

maxTouches

maxTouches : number = 99

  • 支持版本:all
  • 运行平台:Web,Native

设置屏幕同时可以触摸的数量。高于这个数量将不会被触发响应。

orientation

orientation : string

  • 支持版本:2.4
  • 运行平台:Web

屏幕横竖屏显示方式,目前 Native 下只能在配置文件里设置。一个 egret.OrientationMode 类中指定要使用哪种显示方式。以下是有效值:

  • egret.OrientationMode.AUTO -- 应用始终跟随屏幕的方向显示,始终保证由上往下看。
  • egret.OrientationMode.PORTRAIT -- 应用始终保持竖屏模式,即横屏看时,屏幕由左往右看。
  • egret.OrientationMode.LANDSCAPE -- 应用始终保持横屏模式,即竖屏看时,屏幕显示由右往左。
  • egret.OrientationMode.LANDSCAPE_FLIPPED -- 应用始终保持横屏模式,即竖屏看时,屏幕显示由左往右。

scaleMode

scaleMode : string = egret.StageScaleMode.SHOW_ALL

  • 支持版本:all
  • 运行平台:Web,Native

一个 StageScaleMode 类中指定要使用哪种缩放模式的值。以下是有效值:

  • StageScaleMode.EXACT_FIT -- 整个应用程序在指定区域中可见,但不尝试保持原始高宽比。可能会发生扭曲,应用程序可能会拉伸或压缩显示。
  • StageScaleMode.SHOW_ALL -- 整个应用程序在指定区域中可见,且不发生扭曲,同时保持应用程序的原始高宽比。应用程序的可能会显示边框。
  • StageScaleMode.NO_SCALE -- 整个应用程序的大小固定,因此,即使播放器窗口的大小更改,它也会保持不变。如果播放器窗口比内容小,则可能进行一些裁切。
  • StageScaleMode.NO_BORDER -- 保持原始宽高比缩放应用程序内容,缩放后应用程序内容的较窄方向填满播放器视口,另一个方向的两侧可能会超出播放器视口而被裁切。
  • StageScaleMode.FIXED_WIDTH -- 保持原始宽高比缩放应用程序内容,缩放后应用程序内容在水平和垂直方向都填满播放器视口,但只保持应用程序内容的原始宽度不变,高度可能会改变。
  • StageScaleMode.FIXED_HEIGHT -- 保持原始宽高比缩放应用程序内容,缩放后应用程序内容在水平和垂直方向都填满播放器视口,但只保持应用程序内容的原始高度不变,宽度可能会改变。

stageHeight

stageHeight : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

舞台的当前高度(以像素为单位)。

stageWidth

stageWidth : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

舞台的当前宽度(以像素为单位)。

textureScaleFactor

textureScaleFactor : number = 1

  • 支持版本:all
  • 运行平台:Web,Native

绘制纹理的缩放比率,默认值为1

方法详细信息

getImplementation()

public getImplementation(interfaceName:string):any

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数

invalidate()

public invalidate():void

调用 invalidate() 方法后,在显示列表下次呈现时,Egret 会向每个已注册侦听 Event.RENDER 事件的显示对象发送一个 Event.RENDER 事件。每次您希望 Egret 发送 Event.RENDER 事件时,都必须调用 invalidate() 方法。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

registerImplementation()

public registerImplementation(interfaceName:string,instance:any):void

  • 支持版本:all
  • 运行平台:Web,Native
  • 参数

setContentSize()

public setContentSize(width:number,height:number):void

设置分辨率尺寸

  • 支持版本:Egret 2.5.5
  • 运行平台:Web,Native
  • 参数

示例

/*
* 以下示例演示了激活舞台或调整舞台大小时调度事件。
*/
class StageExample extends egret.DisplayObjectContainer {
public constructor() {
super();
var stage:egret.Stage = egret.MainContext.instance.stage;
//添加激活侦听
stage.addEventListener(egret.Event.ACTIVATE, this.activateHandler, this);
//添加取消激活侦听
stage.addEventListener(egret.Event.DEACTIVATE, this.deactivateHandler, this);
//添加屏幕大小改变侦听
stage.addEventListener(egret.Event.RESIZE, this.resizeHandler, this);
}
private activateHandler():void {
egret.log("activateHandler");
}
private deactivateHandler():void {
egret.log("deactivateHandler");
}
private resizeHandler():void {
egret.log("resizeHandler");
var stage:egret.Stage = egret.MainContext.instance.stage;
egret.log("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight);
}
}