我自己的一点心得,由于横屏的体验现阶段并不好,所以这个方案只对竖屏.
找到launcher文件夹下的egret_loader.js文件(EGRET 1.6)
修改代码如下
var context = egret.MainContext.instance; context.touchContext = new egret.HTML5TouchContext(); context.deviceContext = new egret.HTML5DeviceContext(); context.netContext = new egret.HTML5NetContext(); var stageWidth = document.documentElement.clientWidth; var stageHeight = document.documentElement.clientHeight; var width; var height; var scale; if (stageWidth > stageHeight) { width = 540; height = 960; } else { width = stageWidth; height = stageHeight; } scale = 540 / width; egret.StageDelegate.getInstance().setDesignSize((width * scale)>>0, (height * scale)>>0); context.stage = new egret.Stage(); context.stage.scaleMode = egret.StageScaleMode.SHOW_ALL;
基本思想:得到浏览器的宽高,然后把宽度定死成540(之所以选择540,是我多次试验后比较好的一个宽度,具体就不详解了,这个数值也可以是其它),高度由实际宽度和540的比例,算出来的适配540的值,然后缩放规则直接用SHOW_ALL,这样在浏览器内就不产生黑边了.
注:这个方案高度是动态的,所以游戏逻辑里要对这个高度做一些自适应的规则.
时间: 2024-10-14 00:43:43