大家好,我用3.1
Label::createWithTTF(“李傕”, “font1.ttf”, 30);
的方式创建label标签,因为font1.ttf里面没有“傕”这个字,所以屏幕上就打印出了一个“李”字.
请问怎么才能让ttf里没有的字换成用系统默认字打出来。
我看了一下刀塔传奇,它的解决方案也是这样的,ttf字库里没有的字用默认字打出来,所以这个方案应该是能实现的。
多谢~~
大家好,我用3.1
Label::createWithTTF(“李傕”, “font1.ttf”, 30);
的方式创建label标签,因为font1.ttf里面没有“傕”这个字,所以屏幕上就打印出了一个“李”字.
请问怎么才能让ttf里没有的字换成用系统默认字打出来。
我看了一下刀塔传奇,它的解决方案也是这样的,ttf字库里没有的字用默认字打出来,所以这个方案应该是能实现的。
多谢~~
自己顶一下,消灭0回复
自己顶一下,消灭1回复
自己顶一下,消灭2回复
自己顶一下,消灭3回复.
没有人知道吗??
只能分开两个Label
CCDevice.cpp中
bool setFont(const char * pFontName = nullptr, int nSize = 0)
这个方法,你查看下,应该可以设置
怎么样?找着解决方案了么?
同遇到
换武将名字了。。。
FontAtlas::prepareLetterDefinitions 这个函数中
if (bitmap && bitmapWidth > 0 && bitmapHeight > 0)这个会检测ttf中是否能生成字对应的数据
所以要做的就是在else,自己利用Device::getTextureDataForText来获取系统字体对应的数据,仿照if中写进去
前一阵策划也是有这种需求,所以花了几天来实现了
另外还有一种比较容易的做法就是在发现字库中没有的字时,整个label的fontAtlas替换为系统字体
createWithSystemFont(
字体选择ttf的路径,这样的话ttf内包含的字体用ttf显示,不包含的字体用系统字体
这个问题官方一直没有解决?
可以贴一下你改的prepareLetterDefinitions这个函数的代码吗?求参考啊。
大佬有没有解决啊 同样的问题
应该有人解决了,但是没贴出来
楼主说了,换武将名字了
。。。感觉改不动啊,谁有参考的就好了