【问题标题】:Cannot use custom font in Cocos2d-x projectCocos2d-x 项目无法使用自定义字体
【发布时间】:2014-08-31 17:39:51
【问题描述】:

此代码有效:

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);

我将所有字体作为资源导入到我的项目中,并将字体路径添加到 Fonts provided by applicationInfo.plist 中。我正在使用Cocos2d-x v. 3,来自 Github 的最新版本。

有人可以帮我吗?我的代码有什么问题以及如何修复它们吗? 感谢您的帮助!

【问题讨论】:

  • 你能在目标->构建阶段->复制捆绑资源中查看你的字体吗?如果是,您必须为您使用的字体提供正确的名称
  • 我自己试过了,那个字体的确切名称是“cocacolaii”。效果很好。
  • 谢谢@blisskarthik,我的复制捆绑资源中有它,但它仍然不起作用。这是字体fonts2u.com/coca-cola-ii.font
  • 你整理了吗
  • 不!默认字体(Marker Felt)效果很好,但其他字体不行。

标签: c++ ios xcode xcode5 cocos2d-x


【解决方案1】:

在 Cocos2d-x V3 中,新增了一个类Label

我试过了,效果很好:

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

更多详情可以阅读this

【讨论】:

    【解决方案2】:

    我在添加自定义字体时遇到了很多困难。我知道这个问题已经得到解答,但我只想分享为我解决问题的方法。 这些是您需要确保使用自定义字体的要点:

    1. 字体名称必须与该字体的 PostScript 名称匹配(您可以使用 Font Book 轻松找到 postscript 名称,只需选择字体并按 command+i),因此您的字体名称应为:PostScriptName.ttf

    2. 在项目的 Info.plist 中,确保在“应用程序提供的字体”下添加字体名称,只需输入 item0 的字体名称和扩展名或任何字体堆栈的长度: PostScriptName.ttf, 现在,为我解决问题的下一步是:

    3. 确保字体文件存在于项目的“构建阶段”设置的“复制捆绑资源”部分中。对我来说它不知何故不存在,这就是字体没有加载的原因,所以我只是手动添加了它。

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

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      相关资源
      最近更新 更多