html 间隔区,字距的调整问题 - layabox问答社区-HTML5引擎社区-LayaAir开发者社区

又是自行解决,自己回复一下自己,我个人很啰嗦:

对于某些特殊的机型会出现两个很奇怪的事情

1、无法获取屏幕尺寸:例如在看库文件内,引入的laya.core里有方法 __proto.setScreenSize=function(screenWidth,screenHeight)

这是你调用了Laya.stage.screenMode=XXXXX之后 他就会在这里调用这个方法,然后适配屏幕。你会发现在某些 机型内 this.designWidth 、与 this.designHeight 是无法获取的。这就尴尬了。导致后面直接不适配,或者就算调用showall可以适配,也有黑边且按钮错位。我找了超久才发现这个。怎么办呢?

以后你遇到适配问题,你 在laya有一种万能解决方法,就直接在改这个库文件。

我个人是暂时是在用了Laya.stage.screenMode=showall前提下 按机型判断去改,然后直接加上这句:

//不能用下面这一句,不然会匹配不了

//scaleX=scaleY=Math.min(scaleX,scaleY);

canvasWidth=realWidth=720;

canvasHeight=realHeight=1440;

然后直接就完全适配了屏幕

2、字体字距问题:实际上这个问题就是上面的问题带来的,这个怎么破呢,要找到laya.webgl 这个库文件,然后你找到这个方法

DrawText.drawText=function(ctx,txt,words,curMat,font,textAlign,fillColor,borderColor,lineWidth,x,y,underLine)在

var scale=sx!==1 || sy!==1;

在这句后面加判断 然后把特殊机型都改成sx=sy=1;这样就基本适配了。导致这样是因为特殊机型的缩放比例是很奇怪。

然后字距问题也解决了。

以上不算什么高端分享,但起码对于大家应急处理还是很有帮助。

最后想留一个疑问,我适配某一个机型的时候就算我用了这个方法,但他死活差那么一点点留一个小黑边。不明白为啥,硬件问题吗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值