vivo 小游戏使用 ttf 字体,会变成默认字体,
有人知道解决办法吗
john snow
虎子威武~
楼主给的方法解决不了有多个自定义字体的情况。
这个问题本质上是 cocos 引擎在 vivo 平台上没取到字体的 fontFamily,导致 font._assetFamily 总是为默认值 ‘Arial’。
解决办法很简单,就是先给 font._assetFamily 赋值为字体正确的 family,再调用 qg.loadFont() 就行了。
const fontBundle = cc.assetManager.getBundle(eBundleName.Font)
fontBundle.load('SourceHanSerifSC-SemiBold', cc.Font, (error, asset) => {
if (asset) {
(asset as any)._fontFamily = 'SourceHanSerifSCSemiBold'
qg.loadFont((asset as any)._fontFamily, "url('" + asset.nativeUrl + "')")
}
})
fontBundle.load('SourceHanSerifSC-Heavy', cc.Font, (error, asset) => {
if (asset) {
(asset as any)._fontFamily = 'SourceHanSerifSCHeavy'
qg.loadFont((asset as any)._fontFamily, "url('" + asset.nativeUrl + "')")
}
})
2赞


