问题背景
字节小游戏平台在近期会推送新的客户端版本,这里边有一个 Breaking Change 肯定会严重影响用户线上游戏的文字渲染表现,请各位字节小游戏的开发者及时处理这个问题,重新打包上线。
具体字节平台的 SDK Version 差异如下:
- SDK Version < 2.0.0 的版本里,文字渲染没办法关闭预乘,此时如果开发者配置 Label 组件的 srcBlendFactor 为 SRC_ALPHA 时,引擎应该帮开发者改为 ONE 才是符合预期的
- SDK Version >= 2.0.0 后修复了预乘问题,这时候就不需要这部分修复了(PR 修复里已经做相关版本判断,开发者不需要再做额外的版本判断了)
SDK Version 2.0.0 对应的客户端版本号如下:
客户端 | 版本号 |
---|---|
抖音 | v15.1.0 |
今日头条 | v8.1.7 |
具体的问题表现
-
如果你使用的是 Cocos Creator v2.4.3, v2.4.4 版本的项目,并且 Label 组件的 srcBlendFactor 配置为 SRC_ALPHA,在 SDK Version < 2.0.0 的环境里,可能会出现字体黑边的问题
-
如果你使用的是 Cocos Creator v2.4.1, v2.4.2 版本的项目,在字节推送新的客户端版本后(即 SDK Version >= 2.0.0),可能线上的游戏会遇到 Label 渲染变成纯色方块的问题
开发者需要做的
- 如果 Cocos Creator 的版本是 v2.4.1~v2.4.4,请将以下 修复脚本 里的内容覆盖到该路径的脚本文件里:
编辑器目录/resources/builtin/adapters/platforms/bytedance/wrapper/engine/Label.js
修复脚本:https://github.com/PPpro/adapters/blob/326a19b3510b104a3444d11ae9ecfbc3cf0e3964/platforms/bytedance/wrapper/engine/Label.js
(如果访问不了 github 链接,请直接下载 Label.js.zip (1.3 KB) )
- 如果你使用的是 v3.0.0 的项目,请参考这里的 PR 修复 https://github.com/cocos-creator/engine/pull/8319
之后打开项目,重新构建发布字节小游戏平台就行了
版本差异详情可以参考字节文档:
https://bytedance.feishu.cn/docs/doccnBnJHSJEjlZCKu210TGv8Wg