Package | laya.display |
Class | public class Stage |
Inheritance | Stage Sprite Node EventDispatcher Object |
Stage
是舞台类,显示列表的根节点,所有显示对象都在舞台上显示。通过 Laya.stage 单例访问。
Stage提供几种适配模式,不同的适配模式会产生不同的画布大小,画布越大,渲染压力越大,所以要选择合适的适配方案。
Stage提供不同的帧率模式,帧率越高,渲染压力越大,越费电,合理使用帧率甚至动态更改帧率有利于改进手机耗电。
Property | Defined By | ||
---|---|---|---|
alignH : String
水平对齐方式。默认值为"left"。
取值范围:
"left" :居左对齐;
"center" :居中对齐;
"right" :居右对齐;
| Stage | ||
alignV : String
垂直对齐方式。默认值为"top"。
取值范围:
"top" :居顶部对齐;
"middle" :居中对齐;
"bottom" :居底部对齐;
| Stage | ||
alpha : Number 透明度,值为0-1,默认值为1,表示不透明。更改alpha值会影响drawcall。 | Sprite | ||
autoSize : Boolean = false
指定是否自动计算宽高数据。默认值为 false 。
Sprite宽高默认为0,并且不会随着绘制内容的变化而变化,如果想根据绘制内容获取宽高,可以设置本属性为true,或者通过getBounds方法获取。设置为true,对性能有一定影响。
| Sprite | ||
bgColor : String 舞台的背景颜色,默认为黑色,null为透明。 | Stage | ||
blendMode : String 指定要使用的混合模式。目前只支持"lighter"。 | Sprite | ||
cacheAs : String
指定显示对象是否缓存为静态图像,cacheAs时,子对象发生变化,会自动重新缓存,同时也可以手动调用reCache方法更新缓存。
建议把不经常变化的“复杂内容”缓存为静态图像,能极大提高渲染性能。cacheAs有"none","normal"和"bitmap"三个值可选。
默认为"none",不做任何缓存。
当值为"normal"时,canvas模式下进行画布缓存,webgl模式下进行命令缓存。
当值为"bitmap"时,canvas模式下进行依然是画布缓存,webgl模式下使用renderTarget缓存。
webgl下renderTarget缓存模式缺点:会额外创建renderTarget对象,增加内存开销,缓存面积有最大2048限制,不断重绘时会增加CPU开销。优点:大幅减少drawcall,渲染性能最高。
webgl下命令缓存模式缺点:只会减少节点遍历及命令组织,不会减少drawcall数,性能中等。优点:没有额外内存开销,无需renderTarget支持。
| Sprite | ||
cacheAsBitmap : Boolean
指定显示对象是否缓存为静态图像。功能同cacheAs的normal模式。建议优先使用cacheAs代替。
| Sprite | ||
canvasDegree : int = 0 画布的旋转角度。 | Stage | ||
canvasRotation : Boolean = false 画布是否发生翻转。 | Stage | ||
clientScaleX : Number [read-only] 当前视窗由缩放模式导致的 X 轴缩放系数。 | Stage | ||
clientScaleY : Number [read-only] 当前视窗由缩放模式导致的 Y 轴缩放系数。 | Stage | ||
customRenderEnable : Boolean [write-only]
设置是否开启自定义渲染,只有开启自定义渲染,才能使用customRender函数渲染。
| Sprite | ||
designHeight : Number = 0 设计高度(初始化时设置的高度Laya.init(width,height)) | Stage | ||
designWidth : Number = 0 设计宽度(初始化时设置的宽度Laya.init(width,height)) | Stage | ||
destroyed : Boolean [只读]是否已经销毁。对象销毁后不能再使用。 | Node | ||
displayedInStage : Boolean [read-only] 表示是否在显示列表中显示。 | Node | ||
filters : Array 滤镜集合。可以设置多个滤镜组合。 | Sprite | ||
focus : Node 当前焦点对象,此对象会影响当前键盘事件的派发主体。 | Stage | ||
frameRate : String = fast 帧率类型,支持三种模式:fast-60帧(默认),slow-30帧,mouse-30帧(鼠标活动后会自动加速到60,鼠标不动2秒后降低为30帧,以节省消耗),sleep-1帧。 | Stage | ||
fullScreenEnabled : Boolean [write-only]
是否开启全屏,用户点击后进入全屏。
兼容性提示:部分浏览器不允许点击进入全屏,比如Iphone等。
| Stage | ||
globalScaleX : Number [read-only]
获得相对于stage的全局X轴缩放值(会叠加父亲节点的缩放值)。
| Sprite | ||
globalScaleY : Number [read-only]
获得相对于stage的全局Y轴缩放值(会叠加父亲节点的缩放值)。
| Sprite | ||
graphics : Graphics 绘图对象。封装了绘制位图和矢量图的接口,Sprite所有的绘图操作都通过Graphics来实现的。 | Sprite | ||
height : Number [override] | Stage | ||
hitArea : *
可以设置一个Rectangle区域作为点击区域,或者设置一个HitArea实例作为点击区域,HitArea内可以设置可点击和不可点击区域。
如果不设置hitArea,则根据宽高形成的区域进行碰撞。
| Sprite | ||
hitTestPrior : Boolean = false
指定鼠标事件检测是优先检测自身,还是优先检测其子对象。鼠标事件检测发生在鼠标事件的捕获阶段,此阶段引擎会从stage开始递归检测stage及其子对象,直到找到命中的目标对象或者未命中任何对象。
如果为false,优先检测子对象,当有子对象被命中时,中断检测,获得命中目标。如果未命中任何子对象,最后再检测此对象;如果为true,则优先检测本对象,如果本对象没有被命中,直接中断检测,表示没有命中目标;如果本对象被命中,则进一步递归检测其子对象,以确认最终的命中目标。
合理使用本属性,能减少鼠标事件检测的节点,提高性能。可以设置为true的情况:开发者并不关心此节点的子节点的鼠标事件检测结果,也就是以此节点作为其子节点的鼠标事件检测依据。
Stage对象和UI的View组件默认为true。
| Sprite | ||
isFocused : Boolean [read-only]
舞台是否获得焦点。
| Stage | ||
isVisibility : Boolean [read-only]
舞台是否处于可见状态(是否进入后台)。
| Stage | ||
mask : Sprite
遮罩,可以设置一个对象(支持位图和矢量图),根据对象形状进行遮罩显示。
【注意】遮罩对象坐标系是相对遮罩对象本身的,和Flash机制不同
| Sprite | ||
mouseEnabled : Boolean
是否接受鼠标事件。
默认为false,如果监听鼠标事件,则会自动设置本对象及父节点的属性 mouseEnable 的值都为 true(如果父节点手动设置为false,则不会更改)。
| Sprite | ||
mouseThrough : Boolean = false
鼠标事件与此对象的碰撞检测是否可穿透。碰撞检测发生在鼠标事件的捕获阶段,此阶段引擎会从stage开始递归检测stage及其子对象,直到找到命中的目标对象或者未命中任何对象。
穿透表示鼠标事件发生的位置处于本对象绘图区域内时,才算命中,而与对象宽高和值为Rectangle对象的hitArea属性无关。如果sprite.hitArea值是HitArea对象,表示显式声明了此对象的鼠标事件响应区域,而忽略对象的宽高、mouseThrough属性。
影响对象鼠标事件响应区域的属性为:width、height、hitArea,优先级顺序为:hitArea(type:HitArea)>hitArea(type:Rectangle)>width/height。
| Sprite | ||
mouseX : Number [override] [read-only] 鼠标在 Stage 上的 X 轴坐标。 | Stage | ||
mouseY : Number [override] [read-only] 鼠标在 Stage 上的 Y 轴坐标。 | Stage | ||
name : String 节点名称。 | Node | ||
numChildren : int [read-only]
子对象数量。
| Node | ||
optimizeScrollRect : Boolean
指定是否对使用了 scrollRect 的显示对象进行优化处理。默认为false(不优化)。
当值为ture时:将对此对象使用了scrollRect 设定的显示区域以外的显示内容不进行渲染,以提高性能(如果子对象有旋转缩放或者中心点偏移,则显示筛选会不精确)。
| Sprite | ||
parent : Node [override] | Sprite | ||
pivotX : Number X轴 轴心点的位置,单位为像素,默认为0。轴心点会影响对象位置,缩放中心,旋转中心。 | Sprite | ||
pivotY : Number Y轴 轴心点的位置,单位为像素,默认为0。轴心点会影响对象位置,缩放中心,旋转中心。 | Sprite | ||
renderingEnabled : Boolean = true
设置是否渲染,设置为false,可以停止渲染,画面会停留到最后一次渲染上,减少cpu消耗,此设置不影响时钟。
比如非激活状态,可以设置renderingEnabled=true以节省消耗。
| Stage | ||
rotation : Number 旋转角度,默认值为0。以角度为单位。 | Sprite | ||
scaleMode : String
缩放模式。默认值为 "noscale"。
取值范围:
"noscale" :不缩放;
"exactfit" :全屏不等比缩放;
"showall" :最小比例缩放;
"noborder" :最大比例缩放;
"full" :不缩放,stage的宽高等于屏幕宽高;
"fixedwidth" :宽度不变,高度根据屏幕比缩放;
"fixedheight" :高度不变,宽度根据屏幕比缩放;
"fixedauto" :根据宽高比,自动选择使用fixedwidth或fixedheight;
| Stage | ||
scaleX : Number X轴缩放值,默认值为1。设置为负数,可以实现水平反转效果,比如scaleX=-1。 | Sprite | ||
scaleY : Number Y轴缩放值,默认值为1。设置为负数,可以实现垂直反转效果,比如scaleX=-1。 | Sprite | ||
screenAdaptationEnabled : Boolean = true 是否启用屏幕适配,可以适配后,在某个时候关闭屏幕适配,防止某些操作导致的屏幕以外改变 | Stage | ||
screenMode : String
场景布局类型。
取值范围:
"none" :不更改屏幕
"horizontal" :自动横屏
"vertical" :自动竖屏
| Stage | ||
scrollRect : Rectangle
显示对象的滚动矩形范围,具有裁剪效果(如果只想限制子对象渲染区域,请使用viewport),设置optimizeScrollRect=true,可以优化裁剪区域外的内容不进行渲染。
srollRect和viewport的区别:
1.srollRect自带裁剪效果,viewport只影响子对象渲染是否渲染,不具有裁剪效果(性能更高)。
2.设置rect的x,y属性均能实现区域滚动效果,但scrollRect会保持0,0点位置不变。
| Sprite | ||
skewX : Number 水平倾斜角度,默认值为0。以角度为单位。 | Sprite | ||
skewY : Number 垂直倾斜角度,默认值为0。以角度为单位。 | Sprite | ||
stage : Stage [read-only] 对舞台 stage 的引用。 | Sprite | ||
staticCache : Boolean
是否静态缓存此对象的当前帧的最终属性。为 true 时,子对象变化时不会自动更新缓存,但是可以通过调用 reCache 方法手动刷新。
注意: 1. | Sprite | ||
texture : Texture 设置一个Texture实例,并显示此图片(如果之前有其他绘制,则会被清除掉)。等同于graphics.clear();graphics.drawTexture() | Sprite | ||
timer : Timer 时间控制器,默认为Laya.timer。 | Node | ||
transform : Matrix [override] | Stage | ||
viewport : Rectangle = null
视口大小,视口外的子对象,将不被渲染(如果想实现裁剪效果,请使用srollRect),合理使用能提高渲染性能。比如由一个个小图片拼成的地图块,viewport外面的小图片将不渲染
srollRect和viewport的区别:
1. | Sprite | ||
visible : Boolean [override] | Stage | ||
width : Number [override] | Stage | ||
x : Number 表示显示对象相对于父容器的水平方向坐标值。 | Sprite | ||
y : Number 表示显示对象相对于父容器的垂直方向坐标值。 | Sprite | ||
zOrder : Number z排序,更改此值,则会按照值的大小对同一容器的所有对象重新排序。值越大,越靠上。默认为0,则根据添加顺序排序。 | Sprite |
Method | Defined By | ||
---|---|---|---|
Stage() 场景类,引擎中只有一个stage实例,此实例可以通过Laya.stage访问。 | Stage | ||
添加子节点。
| Node | ||
添加子节点到指定的索引位置。
| Node | ||
addChildren(... args):void
批量增加子节点
| Node | ||
clearTimer(caller:*, method:Function):void
清理定时器。功能同Laya.timer.clearTimer()。
| Node | ||
当前容器是否包含指定的 Node 节点对象 。
| Node | ||
customRender(context:RenderContext, x:Number, y:Number):void
自定义更新、呈现显示对象。一般用来扩展渲染模式,请合理使用,可能会导致在加速器上无法渲染。
注意不要在此函数内增加或删除树节点,否则会对树节点遍历造成影响。
| Sprite | ||
destroy(destroyChild:Boolean = true):void [override]
销毁此对象。destroy对象默认会把自己从父节点移除,并且清理自身引用关系,等待js自动垃圾回收机制回收。destroy后不能再使用。
destroy时会移除自身的事情监听,自身的timer监听,移除子对象及从父节点移除自己。
| Sprite | ||
destroyChildren():void
销毁所有子对象,不销毁自己本身。
| Node | ||
drawToCanvas(canvasWidth:Number, canvasHeight:Number, offsetX:Number, offsetY:Number):HTMLCanvas
绘制 当前Sprite 到 Canvas 上,并返回一个HtmlCanvas。
绘制的结果可以当作图片源,再次绘制到其他Sprite里面,示例:
var htmlCanvas:HTMLCanvas = sprite.drawToCanvas(100, 100, 0, 0);//把精灵绘制到canvas上面
var texture:Texture = new Texture(htmlCanvas);//使用htmlCanvas创建Texture
var sp:Sprite = new Sprite().pos(0, 200);//创建精灵并把它放倒200位置
sp.graphics.drawTexture(texture);//把截图绘制到精灵上
Laya.stage.addChild(sp);//把精灵显示到舞台
也可以获取原始图片数据,分享到网上,从而实现截图效果,示例:
var htmlCanvas:HTMLCanvas = sprite.drawToCanvas(100, 100, 0, 0);//把精灵绘制到canvas上面
var canvas:= htmlCanvas.getCanvas();//获取原生的canvas对象
trace(canvas.toDataURL("image/png"));//打印图片base64信息,可以发给服务器或者保存为图片
| Sprite | ||
event(type:String, data:* = null):Boolean
派发事件。
| EventDispatcher | ||
exitFullscreen():void 退出全屏模式 | Stage | ||
frameLoop(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时重复执行某函数(基于帧率)。功能同Laya.timer.frameLoop()。
| Node | ||
frameOnce(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时执行一次某函数(基于帧率)。功能同Laya.timer.frameOnce()。
| Node | ||
[static]
根据图片地址创建一个新的 Sprite 对象用于加载并显示此图片。
| Sprite | ||
将父容器坐标系坐标转换到本地坐标系。
| Sprite | ||
获取本对象在父容器坐标系的矩形显示区域。
注意: 1.计算量较大,尽量少用,如果需要频繁使用,可以通过手动设置 setBounds 来缓存自身边界信息,从而避免比较消耗性能的计算。2. | Sprite | ||
getChildAt(index:int):Node
根据子节点的索引位置,获取子节点对象。
| Node | ||
getChildByName(name:String):Node
根据子节点的名字,获取子节点对象。
| Node | ||
getChildIndex(node:Node):int
根据子节点对象,获取子节点的索引位置。
| Node | ||
getGraphicBounds(realSize:Boolean = false):Rectangle
返回此实例中的绘图对象( Graphics )的显示区域,不包括子对象。
| Sprite | ||
[override] 获得相对于本对象上的鼠标坐标信息。 | Stage | ||
获取对象在自身坐标系的边界范围。与 setBounds 对应。
注意:计算量较大,尽量少用,如果需要频繁使用,可以提前手动设置 setBounds 来缓存自身边界信息,从而避免比较消耗性能的计算。
| Sprite | ||
getTimeFromFrameStart():Number
获得距当前帧开始后,过了多少时间,单位为毫秒。
可以用来判断函数内时间消耗,通过合理控制每帧函数处理消耗时长,避免一帧做事情太多,对复杂计算分帧处理,能有效降低帧率波动。
| Stage | ||
把stage的全局坐标转换为本地坐标。
| Sprite | ||
hasListener(type:String):Boolean
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
| EventDispatcher | ||
hitTestPoint(x:Number, y:Number):Boolean
检测某个点是否在此对象内。
| Sprite | ||
isMouseEvent(type:String):Boolean
检测指定事件类型是否是鼠标事件。
| EventDispatcher | ||
loadImage(url:String, x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0, complete:Handler = null):Sprite
加载并显示一个图片。功能等同于graphics.loadImage方法。支持异步加载。
注意:多次调用loadImage绘制不同的图片,会同时显示。
| Sprite | ||
把本地坐标转换为相对stage的全局坐标。
| Sprite | ||
off(type:String, caller:*, listener:Function, onceOnly:Boolean = false):EventDispatcher
从 EventDispatcher 对象中删除侦听器。
| EventDispatcher | ||
offAll(type:String = null):EventDispatcher
从 EventDispatcher 对象中删除指定事件类型的所有侦听器。
| EventDispatcher | ||
on(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher [override]
增加事件侦听器,以使侦听器能够接收事件通知。
如果侦听鼠标事件,则会自动设置自己和父亲节点的属性 mouseEnabled 的值为 true(如果父节点mouseEnabled=false,则停止设置父节点mouseEnabled属性)。
| Sprite | ||
once(type:String, caller:*, listener:Function, args:Array = null):EventDispatcher [override]
增加事件侦听器,以使侦听器能够接收事件通知,此侦听事件响应一次后则自动移除侦听。
如果侦听鼠标事件,则会自动设置自己和父亲节点的属性 mouseEnabled 的值为 true(如果父节点mouseEnabled=false,则停止设置父节点mouseEnabled属性)。
| Sprite | ||
parentRepaint():void [override] cacheAs时,设置所有父对象缓存失效。 | Stage | ||
设置轴心点。相当于分别设置pivotX和pivotY属性。
因为返回值为Sprite对象本身,所以可以使用如下语法:spr.pivot(...).pos(...);
| Sprite | ||
设置坐标位置。相当于分别设置x和y属性。
因为返回值为Sprite对象本身,所以可以使用如下语法:spr.pos(...).scale(...);
| Sprite | ||
reCache():void 在设置cacheAs的情况下,调用此方法会重新刷新缓存。 | Sprite | ||
删除子节点。
| Node | ||
removeChildAt(index:int):Node
根据子节点索引位置,删除对应的子节点对象。
| Node | ||
removeChildByName(name:String):Node
根据子节点名字删除对应的子节点对象,如果找不到不会抛出异常。
| Node | ||
removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):Node
删除指定索引区间的所有子对象。
| Node | ||
从父容器删除自己,如已经被删除不会抛出异常。
| Node | ||
render(context:RenderContext, x:Number, y:Number):void [override]
更新、呈现显示对象。由系统调用。
| Stage | ||
repaint():void [override] cacheAs后,设置自己和父对象缓存失效。 | Stage | ||
替换子节点。
| Node | ||
设置缩放。相当于分别设置scaleX和scaleY属性。
因为返回值为Sprite对象本身,所以可以使用如下语法:spr.scale(...).pos(...);
| Sprite | ||
设置对象在自身坐标系下的边界范围。与 getSelfBounds 对应。当 autoSize==true 时,会影响对象宽高。设置后,当需要获取自身边界范围时,就不再需要计算,合理使用能提高性能。比如 getBounds 会优先使用 setBounds 指定的值,如果没有指定则进行计算,此计算会对性能消耗比较大。
注意: setBounds 与 getBounds 并非对应相等关系, getBounds 获取的是本对象在父容器坐标系下的边界范围,通过设置 setBounds 会影响 getBounds 的结果。
| Sprite | ||
设置子节点的索引位置。
| Node | ||
setScreenSize(screenWidth:Number, screenHeight:Number):void
设置屏幕大小,场景会根据屏幕大小进行适配。可以动态调用此方法,来更改游戏显示的大小。
| Stage | ||
设置宽高。相当于分别设置width和height属性。
因为返回值为Sprite对象本身,所以可以使用如下语法:spr.size(...).pos(...);
| Sprite | ||
设置倾斜角度。相当于分别设置skewX和skewY属性。
因为返回值为Sprite对象本身,所以可以使用如下语法:spr.skew(...).pos(...);
| Sprite | ||
startDrag(area:Rectangle = null, hasInertia:Boolean = false, elasticDistance:Number = 0, elasticBackTime:int = 300, data:* = null, disableMouseEvent:Boolean = false, ratio:Number = 0.92):void
开始拖动此对象。
| Sprite | ||
stopDrag():void 停止拖动此对象。 | Sprite | ||
timerLoop(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true, jumpFrame:Boolean = false):void
定时重复执行某函数。功能同Laya.timer.timerLoop()。
| Node | ||
timerOnce(delay:int, caller:*, method:Function, args:Array = null, coverBefore:Boolean = true):void
定时执行某函数一次。功能同Laya.timer.timerOnce()。
| Node | ||
将本地坐标系坐标转转换到父容器坐标系。
| Sprite | ||
updateZOrder():void 根据zOrder进行重新排序。 | Sprite |
Event | Summary | Defined By | ||
---|---|---|---|---|
添加到父对象后调度。 | Node | |||
舞台失去焦点时调度。比如浏览器或者当前标签被切换到后台后调度。 | Stage | |||
鼠标点击对象后调度。 | Sprite | |||
加入节点树时调度。 | Node | |||
拖动结束后调度。 | Sprite | |||
拖动中调度。 | Sprite | |||
开始拖动后调度。 | Sprite | |||
舞台获得焦点时调度。比如浏览器或者当前标签处于后台,重新切换回来时进行调度。 | Stage | |||
舞台焦点变化时调度,使用Laya.stage.isFocused可以获取当前舞台是否获得焦点。 | Stage | |||
浏览器全屏更改时调度,比如进入全屏或者退出全屏。 | Stage | |||
在显示对象上按下后调度。 | Sprite | |||
鼠标在对象身上进行移动后调度 | Sprite | |||
鼠标离开对象后调度。 | Sprite | |||
鼠标经过对象后调度。 | Sprite | |||
在显示对象抬起后调度。 | Sprite | |||
被父对象移除后调度。 | Node | |||
stage大小经过重新调整时进行调度。 | Stage | |||
从节点树移除时调度。 | Node | |||
舞台可见性发生变化时调度(比如浏览器或者当前标签被切换到后台后调度),使用Laya.stage.isVisibility可以获取当前是否处于显示状态。 | Stage |
Constant | Defined By | ||
---|---|---|---|
ALIGN_BOTTOM : String = bottom [static] 画布垂直居下对齐。 | Stage | ||
ALIGN_CENTER : String = center [static] 画布水平居中对齐。 | Stage | ||
ALIGN_LEFT : String = left [static] 画布水平居左对齐。 | Stage | ||
ALIGN_MIDDLE : String = middle [static] 画布垂直居中对齐。 | Stage | ||
ALIGN_RIGHT : String = right [static] 画布水平居右对齐。 | Stage | ||
ALIGN_TOP : String = top [static] 画布垂直居上对齐。 | Stage | ||
FRAME_FAST : String = fast [static] 全速模式,以60的帧率运行。 | Stage | ||
FRAME_MOUSE : String = mouse [static] 自动模式,以30的帧率运行,但鼠标活动后会自动加速到60,鼠标不动2秒后降低为30帧,以节省消耗。 | Stage | ||
FRAME_SLEEP : String = sleep [static] 休眠模式,以1的帧率运行 | Stage | ||
FRAME_SLOW : String = slow [static] 慢速模式,以30的帧率运行。 | Stage | ||
SCALE_EXACTFIT : String = exactfit [static] 应用根据屏幕大小铺满全屏,非等比缩放会变型,stage的宽高等于设计宽高。 | Stage | ||
SCALE_FIXED_AUTO : String = fixedauto [static] 应用保持设计比例不变,全屏显示全部内容(类似showall,但showall非全屏,会有黑边),根据屏幕长宽比,自动选择使用SCALE_FIXED_WIDTH或SCALE_FIXED_HEIGHT | Stage | ||
SCALE_FIXED_HEIGHT : String = fixedheight [static] 应用保持设计高度不变,宽度根据屏幕比缩放,stage的高度等于设计宽度,宽度根据屏幕比率大小而变化 | Stage | ||
SCALE_FIXED_WIDTH : String = fixedwidth [static] 应用保持设计宽度不变,高度根据屏幕比缩放,stage的宽度等于设计高度,高度根据屏幕比率大小而变化 | Stage | ||
SCALE_FULL : String = full [static] 应用保持设计宽高不变,不缩放不变型,stage的宽高等于屏幕宽高。 | Stage | ||
SCALE_NOBORDER : String = noborder [static] 应用按照最大比率缩放显示,宽或高方向会显示一部分,等比缩放不变型,stage的宽高等于设计宽高。 | Stage | ||
SCALE_NOSCALE : String = noscale [static] 应用保持设计宽高不变,不缩放不变型,stage的宽高等于设计宽高。 | Stage | ||
SCALE_SHOWALL : String = showall [static] 应用显示全部内容,按照最小比率缩放,等比缩放不变型,一边可能会留空白,stage的宽高等于设计宽高。 | Stage | ||
SCREEN_HORIZONTAL : String = horizontal [static] 自动横屏。 | Stage | ||
SCREEN_NONE : String = none [static] 不更改屏幕。 | Stage | ||
SCREEN_VERTICAL : String = vertical [static] 自动竖屏。 | Stage |
alignH | property |
alignH:String
水平对齐方式。默认值为"left"。
public function get alignH():String
public function set alignH(value:String):void
alignV | property |
alignV:String
垂直对齐方式。默认值为"top"。
public function get alignV():String
public function set alignV(value:String):void
bgColor | property |
bgColor:String
舞台的背景颜色,默认为黑色,null为透明。
public function get bgColor():String
public function set bgColor(value:String):void
canvasDegree | property |
public var canvasDegree:int = 0
画布的旋转角度。
canvasRotation | property |
public var canvasRotation:Boolean = false
画布是否发生翻转。
clientScaleX | property |
clientScaleX:Number
[read-only] 当前视窗由缩放模式导致的 X 轴缩放系数。
public function get clientScaleX():Number
clientScaleY | property |
clientScaleY:Number
[read-only] 当前视窗由缩放模式导致的 Y 轴缩放系数。
public function get clientScaleY():Number
designHeight | property |
public var designHeight:Number = 0
设计高度(初始化时设置的高度Laya.init(width,height))
designWidth | property |
public var designWidth:Number = 0
设计宽度(初始化时设置的宽度Laya.init(width,height))
focus | property |
public var focus:Node
当前焦点对象,此对象会影响当前键盘事件的派发主体。
frameRate | property |
public var frameRate:String = fast
帧率类型,支持三种模式:fast-60帧(默认),slow-30帧,mouse-30帧(鼠标活动后会自动加速到60,鼠标不动2秒后降低为30帧,以节省消耗),sleep-1帧。
fullScreenEnabled | property |
fullScreenEnabled:Boolean
[write-only]
是否开启全屏,用户点击后进入全屏。
兼容性提示:部分浏览器不允许点击进入全屏,比如Iphone等。
public function set fullScreenEnabled(value:Boolean):void
height | property |
height:Number
[override] public function get height():Number
public function set height(value:Number):void
isFocused | property |
isFocused:Boolean
[read-only] 舞台是否获得焦点。
public function get isFocused():Boolean
isVisibility | property |
isVisibility:Boolean
[read-only] 舞台是否处于可见状态(是否进入后台)。
public function get isVisibility():Boolean
mouseX | property |
mouseX:Number
[read-only] [override] 鼠标在 Stage 上的 X 轴坐标。
public function get mouseX():Number
mouseY | property |
mouseY:Number
[read-only] [override] 鼠标在 Stage 上的 Y 轴坐标。
public function get mouseY():Number
renderingEnabled | property |
public var renderingEnabled:Boolean = true
设置是否渲染,设置为false,可以停止渲染,画面会停留到最后一次渲染上,减少cpu消耗,此设置不影响时钟。
比如非激活状态,可以设置renderingEnabled=true以节省消耗。
scaleMode | property |
scaleMode:String
缩放模式。默认值为 "noscale"。
public function get scaleMode():String
public function set scaleMode(value:String):void
screenAdaptationEnabled | property |
public var screenAdaptationEnabled:Boolean = true
是否启用屏幕适配,可以适配后,在某个时候关闭屏幕适配,防止某些操作导致的屏幕以外改变
screenMode | property |
screenMode:String
场景布局类型。
public function get screenMode():String
public function set screenMode(value:String):void
transform | property |
transform:Matrix
[override] public function get transform():Matrix
public function set transform(value:Matrix):void
visible | property |
visible:Boolean
[override] public function get visible():Boolean
public function set visible(value:Boolean):void
width | property |
width:Number
[override] public function get width():Number
public function set width(value:Number):void
Stage | () | Constructor |
public function Stage()
场景类,引擎中只有一个stage实例,此实例可以通过Laya.stage访问。
exitFullscreen | () | method |
public function exitFullscreen():void
退出全屏模式
getMousePoint | () | method |
getTimeFromFrameStart | () | method |
public function getTimeFromFrameStart():Number
获得距当前帧开始后,过了多少时间,单位为毫秒。
可以用来判断函数内时间消耗,通过合理控制每帧函数处理消耗时长,避免一帧做事情太多,对复杂计算分帧处理,能有效降低帧率波动。
ReturnsNumber |
parentRepaint | () | method |
override public function parentRepaint():void
cacheAs时,设置所有父对象缓存失效。
render | () | method |
override public function render(context:RenderContext, x:Number, y:Number):void
更新、呈现显示对象。由系统调用。
Parameters
context:RenderContext — 渲染的上下文引用。
| |
x:Number — X轴坐标。
| |
y:Number — Y轴坐标。
|
repaint | () | method |
override public function repaint():void
cacheAs后,设置自己和父对象缓存失效。
setScreenSize | () | method |
public function setScreenSize(screenWidth:Number, screenHeight:Number):void
设置屏幕大小,场景会根据屏幕大小进行适配。可以动态调用此方法,来更改游戏显示的大小。
Parameters
screenWidth:Number — 屏幕宽度。
| |
screenHeight:Number — 屏幕高度。
|
blur | Event |
laya.events.Event
Event.BLUR
舞台失去焦点时调度。比如浏览器或者当前标签被切换到后台后调度。
focus | Event |
laya.events.Event
Event.FOCUS
舞台获得焦点时调度。比如浏览器或者当前标签处于后台,重新切换回来时进行调度。
focuschange | Event |
laya.events.Event
Event.FOCUS_CHANGE
舞台焦点变化时调度,使用Laya.stage.isFocused可以获取当前舞台是否获得焦点。
fullscreenchange | Event |
laya.events.Event
Event.FULL_SCREEN_CHANGE
浏览器全屏更改时调度,比如进入全屏或者退出全屏。
resize | Event |
visibilitychange | Event |
laya.events.Event
Event.VISIBILITY_CHANGE
舞台可见性发生变化时调度(比如浏览器或者当前标签被切换到后台后调度),使用Laya.stage.isVisibility可以获取当前是否处于显示状态。
ALIGN_BOTTOM | Constant |
public static const ALIGN_BOTTOM:String = bottom
画布垂直居下对齐。
ALIGN_CENTER | Constant |
public static const ALIGN_CENTER:String = center
画布水平居中对齐。
ALIGN_LEFT | Constant |
public static const ALIGN_LEFT:String = left
画布水平居左对齐。
ALIGN_MIDDLE | Constant |
public static const ALIGN_MIDDLE:String = middle
画布垂直居中对齐。
ALIGN_RIGHT | Constant |
public static const ALIGN_RIGHT:String = right
画布水平居右对齐。
ALIGN_TOP | Constant |
public static const ALIGN_TOP:String = top
画布垂直居上对齐。
FRAME_FAST | Constant |
public static const FRAME_FAST:String = fast
全速模式,以60的帧率运行。
FRAME_MOUSE | Constant |
public static const FRAME_MOUSE:String = mouse
自动模式,以30的帧率运行,但鼠标活动后会自动加速到60,鼠标不动2秒后降低为30帧,以节省消耗。
FRAME_SLEEP | Constant |
public static const FRAME_SLEEP:String = sleep
休眠模式,以1的帧率运行
FRAME_SLOW | Constant |
public static const FRAME_SLOW:String = slow
慢速模式,以30的帧率运行。
SCALE_EXACTFIT | Constant |
public static const SCALE_EXACTFIT:String = exactfit
应用根据屏幕大小铺满全屏,非等比缩放会变型,stage的宽高等于设计宽高。
SCALE_FIXED_AUTO | Constant |
public static const SCALE_FIXED_AUTO:String = fixedauto
应用保持设计比例不变,全屏显示全部内容(类似showall,但showall非全屏,会有黑边),根据屏幕长宽比,自动选择使用SCALE_FIXED_WIDTH或SCALE_FIXED_HEIGHT
SCALE_FIXED_HEIGHT | Constant |
public static const SCALE_FIXED_HEIGHT:String = fixedheight
应用保持设计高度不变,宽度根据屏幕比缩放,stage的高度等于设计宽度,宽度根据屏幕比率大小而变化
SCALE_FIXED_WIDTH | Constant |
public static const SCALE_FIXED_WIDTH:String = fixedwidth
应用保持设计宽度不变,高度根据屏幕比缩放,stage的宽度等于设计高度,高度根据屏幕比率大小而变化
SCALE_FULL | Constant |
public static const SCALE_FULL:String = full
应用保持设计宽高不变,不缩放不变型,stage的宽高等于屏幕宽高。
SCALE_NOBORDER | Constant |
public static const SCALE_NOBORDER:String = noborder
应用按照最大比率缩放显示,宽或高方向会显示一部分,等比缩放不变型,stage的宽高等于设计宽高。
SCALE_NOSCALE | Constant |
public static const SCALE_NOSCALE:String = noscale
应用保持设计宽高不变,不缩放不变型,stage的宽高等于设计宽高。
SCALE_SHOWALL | Constant |
public static const SCALE_SHOWALL:String = showall
应用显示全部内容,按照最小比率缩放,等比缩放不变型,一边可能会留空白,stage的宽高等于设计宽高。
SCREEN_HORIZONTAL | Constant |
public static const SCREEN_HORIZONTAL:String = horizontal
自动横屏。
SCREEN_NONE | Constant |
public static const SCREEN_NONE:String = none
不更改屏幕。
SCREEN_VERTICAL | Constant |
public static const SCREEN_VERTICAL:String = vertical
自动竖屏。