你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[LayaAir 1.0]字距的调整问题
在接平台时候有些机型出现字距太小,整行字挤压在一起,估计是context 在这些机型获取不了之类的问题。
我现在问题是,如何在laya内设置字距。
没有找到相关结果
已邀请:
与内容相关的链接
提交
2 个回复
Aar0n
赞同来自:
如果是bug 请上传demo 以及标注一下哪些机型 挤压在一起, 是什么平台,什么系统,引擎版本
155*****949
赞同来自:
又是自行解决,自己回复一下自己,我个人很啰嗦:
对于某些特殊的机型会出现两个很奇怪的事情
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;这样就基本适配了。导致这样是因为特殊机型的缩放比例是很奇怪。
然后字距问题也解决了。
以上不算什么高端分享,但起码对于大家应急处理还是很有帮助。
最后想留一个疑问,我适配某一个机型的时候就算我用了这个方法,但他死活差那么一点点留一个小黑边。不明白为啥,硬件问题吗
要回复问题请先
登录
发起人
155*****949
相关问题
发起问题须知,必看!!!不按提问规则的,官方拒绝解答!!!
laya针对页游耗用内存大的问题是如何解决的?
unity导出粒子文件问题
LayaAir3D UnityPlugin 使用须知-版本更新-问题解答(最新版本:1.7.16)
关于微信7.0.3版本之后的版本,微信小游戏 Android 端调整 “在屏 Canvas” 的放缩策略
重要问题:关于苹果审核被拒
IDE1.7.8 json图集加载问题
关于适配采用showAll后留白部分的颜色问题
求指点3d射线碰撞和UI点击穿透的问题
mask在layaplayer中有问题
IDE创建的UI 层级问题
问题状态
最新活动:
2019-03-01 14:46
浏览:
3884
关注:
3
人
商务合作
2 个回复
Aar0n
赞同来自:
155*****949
赞同来自:
对于某些特殊的机型会出现两个很奇怪的事情
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;这样就基本适配了。导致这样是因为特殊机型的缩放比例是很奇怪。
然后字距问题也解决了。
以上不算什么高端分享,但起码对于大家应急处理还是很有帮助。
最后想留一个疑问,我适配某一个机型的时候就算我用了这个方法,但他死活差那么一点点留一个小黑边。不明白为啥,硬件问题吗