代码正常运行:
auto label = LabelTTF::create(CokeStore::name, "Marker Felt", 170);
但是这些都不起作用:
auto label = LabelTTF::create(CokeStore::name, "Coca Cola ii", 170);
auto label = LabelTTF::create(CokeStore::name, "CocaColaii", 170);
auto label = LabelTTF::create(CokeStore::name, "cocacolaii", 170);
我将所有字体作为资源导入到我的项目中,并将字体的路径添加到Info.plist
的Fonts provided by application
中。我正在使用Cocos2d-x v. 3
,最新版本的Github。
我在添加自定义字体时遇到了很多困难。我知道这个问题已经有了答案,但我只是想分享一下我是如何解决这个问题的。使用自定义字体时需要注意以下几点:
-
字体名称必须匹配该字体的PostScript名称(你可以很容易地找到PostScript名称使用字体本,只需选择字体并按命令+i),所以你的字体名称应该是:PostScriptName.ttf
-
在Info。你的项目的plist,确保添加字体名称下的"字体提供的应用程序",只要把字体名称和扩展名item0或你的字体堆栈的长度是:PostScriptName.ttf,现在,为我解决这个问题的下一步是:
-
确保字体文件存在于项目的"Build Phases"设置的"Copy Bundle Resources"部分中。对我来说,它不存在,这就是为什么字体没有加载,所以我只是手动添加它。
-
现在你甚至可以使用LabelTTF::create("Text", "PostScriptName", 24)!
在Cocos2d-x V3中,有一个新的类Label
。
我试了一下,它工作了:
Label *label = Label::createWithTTF("Your string here","cocacolaii.ttf", 170);
有关详细信息,请阅读