cocos2d-x 开发去哪里下载字体库

2015年02月07日 13:59 0 点赞 0 评论 更新于 2025-11-21 16:06

对于刚开始学习Cocos2d-x开发的朋友来说,可能不知道去哪里下载字体库,也不清楚如何在项目中使用这些字体库。本文将先介绍Cocos2d-x支持的字体情况,然后详细说明在iOS中引入ttf字体库文件的步骤(Cocos2d-x原理相同,Android可直接使用字体库,无需下述处理)。

一、Cocos2d-x支持的字体

在Cocos2d-x开发中,为了使游戏界面更为美观,我们常常会选用特定的字体。了解Cocos2d-x支持的字体类型,有助于我们更好地开展后续工作。

二、在iOS中使用字体库的步骤

1. 获取ttf字体库文件

可以通过在网上搜索来获取ttf字体库文件,网络上有大量的资源可供选择。

2. 在Mac上安装字体库文件

这一步主要是为了获取该字体在系统中存放的英文名字。不过,第四步也可以达到同样的效果。具体操作是:获取到.ttf文件后,双击该文件,然后点击“安装字体”。安装成功后,点击屏幕右上角的搜索图标,输入“字体册”并打开,找到字体对应的英文名字,将其记录下来备用。

3. 找到项目中Info.plist文件并进行相应设置

首先,找到工程资源文件夹下面的 fonts 文件夹,路径一般为 Resources/fonts(本文示例所用引擎为2.2.2版本,通常字体文件会存放在此处,当然也可以放在其他文件夹,但要注意路径问题),然后将字体文件拷贝进去。

接着,找到 Info.plist 文件并打开进行修改。在2.2.1之前的版本中,Info.plist 文件可以直接在Xcode中搜索到;2.2.2版本的该文件位于项目中的 proj.ios 文件夹中。

需要注意的是,Fonts provided by application 是需要手动添加的项,原本 Info.plist 中并没有此项。添加时,要观察添加的 item 0 以及 item 1 等项。如果之前将字体库文件放在了 fonts 文件夹中,填写时一定要加上上级目录 fonts。例如,若按照 item 0 的写法可能会导致资源加载失败,若选择将字体库文件夹加到了别的路径下,一定要确保字体库文件的路径已经被加到了 Copy Bundle Resources 中。

4. (可选步骤)在控制台打印字体库中所有字体名字,找到所添加字体库的英文名

完成上述操作后,字体库文件已经成功添加到项目中并可以使用。但在使用时需要注意,字体的名字并非是文件对应的名字,而是在第二步中获取的英文名。我们可以通过以下测试代码来查看程序中字体的真正名字。

打开 AppController.mm 文件(由于测试代码为OC语言,所以需要在混编文件中测试),在入口函数 didFinishLaunchingWithOptions 中加入如下代码:

NSArray *familyNames = [UIFont familyNames];
for (NSString *familyName in familyNames) {
NSLog(@"family name is %@", familyName);
NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
for (NSString *fontName in fontNames) {
NSLog(@"font name is %@", fontName);
}
}

这段代码会打印出所有的字体名字,然后我们在控制台进行搜索,查看是否有我们所添加的字体名。

5. 在代码中对Label控件进行使用

在2.x版本的引擎中,项目中支持字体的控件有两种:CCLabelTTF 以及CocoStudio的 Label 控件。使用方法较为简单:

  • CCLabelTTF 的字体在 create 函数中即可设置,示例代码如下:
    CCLabelTTF* label = CCLabelTTF::create("标签名", "SentyMaruko-02-SP", 32);
    
  • Label 控件需要使用 setFontName() 方法,示例代码如下:
    Label *label = Label::create();
    label->setFontName("SentyMaruko-02-SP");
    

综上所述,按照以上步骤操作,就可以在Cocos2d-x项目中成功引入并使用ttf字体库文件。