导入cocos2dx iOS的字体

时间:2013-10-03 07:49:24

标签: ios7 cocos2d-x cclabelttf

我已经提到过这个链接:Using custom fonts in Cocos2d

和此链接:http://captainjor.wordpress.com/2013/04/03/cocos2d-x-custom-ttf-font/

第一个链接有效,但我只能指定字体的系列名称(基于字体窗口顶部的名称)。如果我想要Bold,或者一些疯狂的屁股造型,我无法明确指定,因为我打开了其他样式字体,如BoldItalic或Italic,它仍然返回我的姓氏。

第二个链接根本不起作用。

我在Cocos2dx中使用的代码有效:

CCLabelTTF *energyLabel = CCLabelTTF::create("ABCDEFGHIJKL", "Roboto", 60.0f);

这个没有:

CCLabelTTF *energyLabel = CCLabelTTF::create("ABCDEFGHIJKL", "Roboto Black Italic", 60.0f);

请注意,我已经在Info.plist文件中双重检查以导入所有必需的字体。 任何人有更多的解决方案? = /我很难过。导入字体就是PITA。

编辑:我在这个问题上再次遇到了麻烦,但采用了不同的方法。我想我会在这里发布一些关于如何为Android和iOS完全进行字体导入的重要指示。请注意,这最适合支持使用一行代码导入字体。

  1. 首先,我将所有字体文件放在资源文件夹中(不在任何子文件夹中,只在根部!)
  2. 特别是对于iOS,您需要通过在plist中声明它们来导入字体文件。怎么样?像这样:
  3. font declaration list in iOS

    - >是的,我们可以看到我已经以某种方式包含了“fonts /”子文件夹目录,即使这些字体位于参考资料中的ROOT文件夹中。这是最奇怪的部分,这应该是唯一棘手的事情。我尝试删除“fonts /”子文件夹目录引用,当我尝试使用该字体在我的应用程序中显示文本/标签时,它不起作用

    这是适用于iOS和Android的产品线:

    CCLabelTTF* levelLabel = CCLabelTTF::create("TextDisplayed", Roboto-BlackItalic.ttf, 12);
    

    这行代码严重依赖于这一事实:字体的PostScript名称必须与文件名完全相同。

2 个答案:

答案 0 :(得分:6)

你会尝试使用

吗?
"Roboto-BlackItalic" 

作为字体名称?我刚刚检查了我的一些代码库,我使用的是字体文件名(没有扩展名)而不是正确的字体名称,它的工作正常。

编辑:根据Joel Tay的评论,Postscript字体名称是正确使用的。您可以在字体簿中找到它,如附图所示,方法是从预览菜单中选择显示字体信息。

enter image description here

答案 1 :(得分:0)

你可以在这里查看我的答案.-

UIFont custom font not displaying on device

显示所有真实的'您的应用程序可以看到的字体名称。