初始化一个界面
class GameStart{
constructor()
{
Laya.init(600,400);
}
}
new GameStart();
定义一个gamestart类,然后有一个构造函数,实例化这个类,就可以创建出来
运行一下
Laya是一个内置的全局变量类,直接调用,这是官方的api
init方法有两个三个参数,其中两个是宽度和高度
第三个参数可以不写,使用webgl渲染,注意文档第三个参数,前面有...三个点,印象中这种写法是说,这里可以写很多个参数,但是目前只看到webgl支持,所以还是不要乱写比较好
init () 方法
public static function init(width:Number, height:Number, ... plugins):*
初始化引擎。
参数
width:Number — 游戏窗口宽度。
height:Number — 游戏窗口高度。
... plugins — WebGL。
Returns
* — 返回原生canvas,方便控制
代码升级版
Laya.stage是内置舞台属性,想像一下laya初始化了一个画板之后,要开始做游戏,总得有个场景给人画东西上去,那么这个场景,就是舞台。
class GameStart{
constructor()
{
Laya.init(600,400);
//
Laya.stage.scaleMode = Laya.Stage.SCALE_NOSCALE;
Laya.stage.alignH = Laya.Stage.ALIGN_CENTER;
Laya.stage.alignV = Laya.Stage.ALIGN_CENTER;
Laya.stage.screenMode = Laya.Stage.SCREEN_NONE;
}
}
根据官网api,scalemode应该是舞台缩放,也就是屏幕适配的时候是否缩放
但是,在api中他并不是属于laya.stage或者laya这个类,他是属于
laya.display
其中
缩放模式。默认值为 "noscale"。 取值范围: "noscale" :不缩放;
"exactfit" :全屏不等比缩放; "showall" :最小比例缩放; "noborder" :
最大比例缩放; "full" :不缩放,stage的宽高等于屏幕宽高; "fixedwidth" :
宽度不变,高度根据屏幕比缩放; "fixedheight" :高度不变,宽度根据屏幕比缩放;
"fixedauto" :根据宽高比,自动选择使用fixedwidth或fixedheight;
这就很奇怪了,因为这串代码里头写的是 Laya.Stage.SCALE_NOSCALE;,也就是laya里面还有个类,这个内置类还有个静态属性,和刚知道none|horizontal|vertical完全不同,这就比较迷,
Laya.stage.scaleMode = Laya.Stage.SCALE_NOSCALE;
然后在display.stage页搜了下,让人震惊,也就是说
Laya.Stage.SCALE_NOSCALE === noscale
值和字符串都相等,他们之间可以互相替换……
囧,总之随便用了
category=Core&class=laya.display.Stage#SCALE_NOSCALE) : String = noscale
[static] 应用保持设计宽高不变,不缩放不变型,stage的宽高等于设计宽高。
category=Core&class=laya.display.Stage#ALIGN_CENTER) : String = center
[static] 画布水平居中对齐。
Laya.stage.alignH
屏幕水平对齐方式
Laya.stage.alignV
屏幕垂直对齐方式
屏幕垂直还是横放,一般宽度大于高度就自动切横屏
高度大于宽度不切
一般这里不写
Laya.stage.screenMode = Laya.Stage.SCREEN_NONE;
场景布局类型。 取值范围: "none" :不更改屏幕 "horizontal" :自动横屏 "vertical" :自动竖屏
|