同样代码,在mac/ios平台创建Label失败,找不到字体文件

auto myjineng = Label::createWithTTF(inf, “fonts/Marker Felt.ttf”, 40.0f);

上面的代码,在win32和android平台均能创建Label成功,但是在mac呀ios平台下就会因为找不到第二个参数对应的字体文件而创建Label失败,这是为什么呢?

我没有将fonts目录添加到FileUtils::getInstance()->addSearchPaths()中,如果添加进去的话,直接用 Label::createWithTTF(inf, “Marker Felt.ttf”, 40.0f);就行,不管哪个平台都能创建成功。

我想知道的是在不添加fonts目录的情况下,为什么win32和android平台可以创建成功,但是mac与ios下就不能创建成功呢?这是平台本身搜索文件的区别还是其他原因呢?或者说这算是引擎本身的一个bug?

IOS平台有个Plist的,需要把字体信息加到里面才认识,我现在开不了工程,你搜一下吧哈。

用 createWithSystemFont 吧!

使用系统字体时才用你这个吧。我这里想用自定义的ttf字体文件

添加到plist中后,在使用时,是不是要先加载plist文件呀?

这个Plist是不需要你加载的 你只需要向里面填一行就行。
见图

谢谢。像这样添加到plist中后,在使用时是填"font_chn.ttf“还是填”字体名“呢?
我想使用这个字体文件中的字体,用的是cocos2d-x-3.2

font_chn.ttf是我的字体文件名, 这里填的是你的字体文件的具体路径喔。

我的意思是比如字体文件所在路径是:Resources/fonts/font_chn.ttf,在这个plist中添加好后,我在代码中使用时,填字体文件名”font_chn.ttf“就可以了吗,不用加”fonts/"吗?

我这个是个小游戏,直接丢根目录下了,你两样都试一试嘛。

好的。有空我再试下:2: