Egret之横竖屏及适配方式

一 : 对于方向锁定的 , 以竖屏为例

        if (egret.Capabilities.isMobile == true) {
            this.stage.orientation = egret.OrientationMode.PORTRAIT;
            this.stage.scaleMode = egret.StageScaleMode.EXACT_FIT;
        }
        else {
            this.stage.orientation = egret.OrientationMode.AUTO;
             this.stage.scaleMode = egret.StageScaleMode.SHOW_ALL;(比如 : 640 * 1134)全部显示出来(在PC浏览器上)
        }

二 : 对于方向不锁定(主要针对移动终端)

egret.OrientationMode.AUTO

private setResize() {
        if( this.stage.stageHeight / this.stage.stageWidth < 1.77 ){
                this.stage.scaleMode = egret.StageScaleMode.FIXED_HEIGHT;
        }else{
                this.stage.scaleMode = egret.StageScaleMode.FIXED_WIDTH;
        }
}

可以使用this.stage.addEventListener(egret.Event.RESIZE, this.setResize, this);触发
注意 , 保存一份this.stage 如 ,
/**

  • 获取游戏Stage对象
  • @returns {egret.MainContext}
    */
    public getStage():egret.Stage {
    return egret.MainContext.instance.stage;
    }

以上this.stage , 都需要替换成 egret.MainContext.instance.stage

你可能感兴趣的:(Egret之横竖屏及适配方式)