cocos creator label 字体有黑边

  • Creator 版本:2.0.9

  • 目标平台: 模拟器和ios

  • 详细报错信息,包含调用堆栈:

  • 重现方式:创建label,打开模拟器,显示出来就是有黑边的字体

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:100%

  • 额外线索:

问题已经确认了,正在处理。

label去掉了blend,blendSrc默认使用了GL_SRC_ALPHA导致的

修复了,发一下修复的代码呗

处理好了没
@337031709

临时解决方案:不过无法进行透明度变化
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部分代码

问题已经修复,PR:
https://github.com/cocos-creator-packages/jsb-adapter/pull/130

可以在2.1.1版本体验。

2.0.10中是否有修复这个问题?

有的。

mark一下。

iOS和模拟器确认修复了。微信的安卓也修复了。

但打包出来 bilibili 的安卓端小游戏上还有这个黑边啊?这个怎么处理呀

引擎版本:v2.1.2 beta - 1

@zzf_Cocos

补充对比图片,都是安卓同一部机子:

该平台我们还未适配,可能会出现意想不到的问题。
建议用户暂时不用系统字体,使用艺术字体或者bitMapFont。

能否说明一下如何修改能去掉这个平台的黑边,目前平台技术和我们都比较头疼这个问题。同样的包,微信端小游戏没有问题,该平台小游戏安卓有字体有黑边。

修改引擎源码也行,如何我们自行去适配?