003 laya代码入门

2018-02-03  本文已影响136人  水电梁师傅

初始化一个界面

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" :自动竖屏

 |

上一篇下一篇

猜你喜欢

热点阅读