无法在Cocos2d-x项目中使用自定义字体

Cannot use custom font in Cocos2d-x project

本文关键字:自定义 字体 项目 Cocos2d-x      更新时间:2023-10-16

代码正常运行:

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.plistFonts provided by application中。我正在使用Cocos2d-x v. 3,最新版本的Github。

有谁能帮我一下吗?我的代码有什么问题,如何修复它们?谢谢你的帮助!

我在添加自定义字体时遇到了很多困难。我知道这个问题已经有了答案,但我只是想分享一下我是如何解决这个问题的。使用自定义字体时需要注意以下几点:

  1. 字体名称必须匹配该字体的PostScript名称(你可以很容易地找到PostScript名称使用字体本,只需选择字体并按命令+i),所以你的字体名称应该是:PostScriptName.ttf

  2. 在Info。你的项目的plist,确保添加字体名称下的"字体提供的应用程序",只要把字体名称和扩展名item0或你的字体堆栈的长度是:PostScriptName.ttf,现在,为我解决这个问题的下一步是:

  3. 确保字体文件存在于项目的"Build Phases"设置的"Copy Bundle Resources"部分中。对我来说,它不存在,这就是为什么字体没有加载,所以我只是手动添加它。

  4. 现在你甚至可以使用LabelTTF::create("Text", "PostScriptName", 24)!

在Cocos2d-x V3中,有一个新的类Label

我试了一下,它工作了:

Label *label = Label::createWithTTF("Your string here","cocacolaii.ttf", 170);

有关详细信息,请阅读