【问题标题】:How to add bitmap fonts to SpriteBuilder如何将位图字体添加到 SpriteBuilder
【发布时间】:2014-09-05 06:27:30
【问题描述】:

我无法将任何 .fnt/.png 类型的字体添加到 SpriteBuilder,因此我无法为 CCLabelBMFont 选择它们。程序是什么?文档似乎对此事一无所知。

我正在使用这种字体:

https://github.com/cocos2d/cocos2d-iphone/blob/v3.1/Resources/Fonts/arial16.fnt https://github.com/cocos2d/cocos2d-iphone/blob/v3.1/Resources/Fonts/arial16.png

更新:目前似乎没有真正好的解决方案,除了以下变通方法:

  • 在处理 CCLabelBMFont 时不要使用 SpriteBuilder,毕竟如果你从代码中使用 arial16 字体,你可以使用它。很遗憾 SB 不支持与现有 Cocos2D “捆绑”的字体。当然可能有充分的理由......

  • 就我而言,我只是使用 CCLayoutBox 并向其中添加固定大小的字符精灵,根本不使用任何字体类。它实际上非常快,足以制作倒计时等。

【问题讨论】:

  • 这是一个很好的问题,但还没有答案。您可能想关注这里的讨论:github.com/spritebuilder/SpriteBuilder/issues/98 据说问题源于使用了错误的扩展名,但我也尝试了 .bmFont 和 .bmfont ,但没有运气。 github.com/spritebuilder/SpriteBuilder/pull/529
  • 这应该是一个非常紧迫的问题。在更新中更新 CCLabelTTF 以获取诸如倒数计时器之类的内容,包括数百秒,不知何故会使内存使用非常快地杀死您的应用程序。当然 CCLabelTTF 不是为此目的而设计的,但似乎没有其他办法......好吧,除了使用 CCLabelBMFont,而是在代码中定义它,而不是使用 SpriteBuilder。 SpriteBuilder 很好,但它不能忽略这些东西......它不应该限制 Cocos2D 的现有功能,恕我直言。

标签: fonts cocos2d-iphone spritebuilder glyph bitmap-fonts


【解决方案1】:

如果您有 GlyphDesigner,可以使用我的 bash 脚本将 .GlyphProject 文件转换为 SpriteBuilder 所需的 .bmfont 字体结构。

你可以在这里查看我的帖子: Bash script to generate CCLabelBMFont bmfont files for use with SpriteBuilder using GlyphDesigner’s command line tool

【讨论】:

    【解决方案2】:

    我在old SpriteBuilder documentation 中找到了这个。

    显然,您需要创建一个扩展名为 .bmfont 的子文件夹,其中包含名为“resource-xxxx”的子文件夹,其中包含特定分辨率版本的位图字体。

    目前只有 bmGlyph 通过 Publish -> Publish Wizard 支持这种格式。在其他工具中,您必须将字体导出到具有给定字体大小(例如 64)的 myfont.bmfont/resources-tablethd 文件夹。然后将其重新导出到字体大小为 32 的 resources-tableresources-phonehd,并再次发布到resources-phone,字体大小为 16。

    phone(hd) 的实际缩放比例并不完全是 50%/25%,请参阅 bmGlyph 发布向导:

    我没有尝试过,但这通常应该是这样做的方法。不知道是不是所有资源文件夹都是必须的,或者你是否也可以使用resources-auto文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-29
      • 2010-09-29
      • 1970-01-01
      • 2015-10-05
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多