网站地图    收藏   

主页 > canvas引擎 > layabox引擎 >

layabox小游戏适配方案

来源:未知    时间:2022-10-08 17:06 作者:小飞侠 阅读:

[导读] 辛辛苦苦开发好小游戏,打包到微信小游戏平台发现页面适配有问题是不是很慌! 请看这里,首先呢,laya自带了适配模式。这里一般都是使用 GameConfig.scaleMode=fixedwidth; 这个适配方案会...

辛辛苦苦开发好小游戏,打包到微信小游戏平台发现页面适配有问题是不是很慌!

请看这里,首先呢,laya自带了适配模式。这里一般都是使用

GameConfig.scaleMode ="fixedwidth";

这个适配方案会等比例横向拉伸你的游戏尺寸,比如你设计的是 750 * 1334 尺寸,他会根据不同屏幕将你的尺寸按 当前屏幕/750 基准去缩放。

那么问题来了,为什么要设计 750*1334呢,因为这是大部分手机缩放比例 750/1334=0.52。

经过这一步操作后你看到游戏基本已经适配大半了,不过还是有问题,比如底部会有黑边,是因为这个模式只是按横向缩放的。

如何解决黑边呢?

下一步:

// 是否需要适配
this.isNeedSp = Math.round(Laya.Browser.clientWidth / Laya.Browser.clientHeight * 100) === 56 ? false : true;
this.trueRatio = Laya.Browser.clientWidth / Laya.stage.width; ///  xxx/750 算出相对比例 0.52
this.trueHiRatio = Laya.Browser.clientHeight / Laya.stage.height; ///  xxx/1334 算出相对比例 0.52
this.trueStageHeight = Laya.Browser.clientHeight / this.trueRatio; // 舞台的真实高度,一般用于填满背景图
// 相对于元素750基准
this.trueSpriceRatio = this.trueStageHeight / 1334;

第一行是要计算是否需要适配,全局变量,按需判断即可。

第二行是算出缩放比存全局

第三行是算出纵向缩放比存全局【这一步一般可以忽略,我一般特别精细计算会用到,因为我们现在用的是横向缩放】

第四行我一般喜欢先存一个真实的舞台高度给全局使用

第五行是关键一步就是纵向元素基准判断,这样页面设计的元素 * trueSpriceRatio 就得到真实缩放后的元素尺寸,在每个UI模块下,做下初始化适配即可。

比如我需要校准我的小游戏一些元素位置和宽高就这么写:

image.png

以上就是layabox小游戏适配方案全部内容,感谢大家支持自学php网。

    上一篇:没有了
    下一篇:没有了

最新评论

添加评论

更多文章推荐

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论