温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

分辨率自适应方案(不产生黑边)

发布时间:2020-07-07 10:17:16 来源:网络 阅读:6381 作者:arrowyoung 栏目:开发技术

我自己的一点心得,由于横屏的体验现阶段并不好,所以这个方案只对竖屏.


找到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,这样在浏览器内就不产生黑边了.


注:这个方案高度是动态的,所以游戏逻辑里要对这个高度做一些自适应的规则.

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI