-
Creator 版本:2.0.9
-
目标平台: 模拟器和ios
-
详细报错信息,包含调用堆栈:
-
重现方式:创建label,打开模拟器,显示出来就是有黑边的字体
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:100%
-
额外线索:
Creator 版本:2.0.9
目标平台: 模拟器和ios
详细报错信息,包含调用堆栈:
重现方式:创建label,打开模拟器,显示出来就是有黑边的字体
之前哪个版本是正常的 :
手机型号 :
手机浏览器 :
编辑器操作系统 :
编辑器之前是否有其它报错 :
出现概率:100%
额外线索:
问题已经确认了,正在处理。
label去掉了blend,blendSrc默认使用了GL_SRC_ALPHA导致的
修复了,发一下修复的代码呗
临时解决方案:不过无法进行透明度变化
CCLabel.js
const renderEngine = require(’…/renderer/render-engine’);
const gfx = renderEngine.gfx;
添加函数
_updateBlendFunc (material) {
let srcBlendFactor = material.texture === this._ttfTexture ?
cc.macro.BlendFactor.ONE : cc.macro.BlendFactor.SRC_ALPHA;
let pass = material._mainTech.passes[0];
pass.setBlend(
gfx.BLEND_FUNC_ADD,
srcBlendFactor, cc.macro.BlendFactor.ONE_MINUS_SRC_ALPHA,
gfx.BLEND_FUNC_ADD,
srcBlendFactor, cc.macro.BlendFactor.ONE_MINUS_SRC_ALPHA,
);
},
在this._updateMaterial(material);上一行添加
this._updateBlendFunc(material);
需要修改engine/bin的
cocos2d-js-for-preview.js
cocos2d-jsb-for-preview.js
cocos2d-jsb-min.js
cocos2d-jsb.js
对应的Label部分代码
2.0.10中是否有修复这个问题?
有的。
mark一下。
该平台我们还未适配,可能会出现意想不到的问题。
建议用户暂时不用系统字体,使用艺术字体或者bitMapFont。
能否说明一下如何修改能去掉这个平台的黑边,目前平台技术和我们都比较头疼这个问题。同样的包,微信端小游戏没有问题,该平台小游戏安卓有字体有黑边。
修改引擎源码也行,如何我们自行去适配?