欢迎增加 Cocos2d-x 交流群: 193411763

转载请注明原文出处:http://blog.csdn.net/u012945598/article/details/37650843

通常为了使游戏界面更为美观,我们会选用某种字体来达到效果。今天要介绍的便是怎样在iOS中引入ttf字体库文件(Cocos2d-x 原理同样)

在iOS中使用字体库的过程例如以下(Android无需下述处理,可直接使用):

1.获取ttf字体库文件(网上搜索一搜一堆)

2.在Mac上安装字体库文件(主要用于获取该字体在系统中存放的英文名字,第四步也可达到相同效果)

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

4.在控制台打印字体库中全部字体名字,找到所加入字体库的英文名(此步骤非必要操作)

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

具体操作过程:

1.获取.ttf文件,该文件为笔者刚刚下载的一个ttf

2.双击文件,点击安装字体。成功安装后点击屏幕右上角的搜索,输入"字体冊"并打开,找到字体相应的英文名字留着备用。

3. 找到你的project资源目录以下的 fonts目录,Resources/fonts(此处笔者所用引擎为2.2.2版本号,一般字体文件会放在此处保存,放在其他目录亦可,但要注意路径问题),然后将字体文件拷贝进去,之后找到Info.plist文件,打开并对其进行改动(Info.plist文件在2.2.1之前版本号直接能够在Xcode中搜索到,2.2.2版本号位于项目中的proj.ios目录中)。

注意 Fonts provided by application 是须要手动加入的项,原本Info.plist中并没有。注意观察笔者在里面加入的item 0 以及item 1两项,之前将字体库文件放在了fonts目录中,所以填写的时候一定要将上级目录fonts加上,如item 1相应的写法,假设依照item 0的写法资源是载入不进去的,假设选择将字体库目录加到了别的路径下,一定要确保字体库文件的路径已经被加到了Copy
Bundle Resources中。

4.完毕上述操作后字体库文件已经成功的被加入到你的项目中并能够使用了,可是在使用的时候还须要注意一点,字体的名字并不是是你的文件相应的名字,而是在第二部中我们所示英文名,这里我们能够做一个測试,看看在程序中字体的真正名字究竟是什么。打开AppController.mm文件(測试代码为OC语言,所以须要在混编文件里測试),在入口函数 didFinishLaunchingWithOptions
中增加例如以下代码:

NSArray *familyNames = [UIFontfamilyNames];

for(NSString *familyNamein familyNames)

{

NSLog(@"family name is %@", familyName);

NSArray *fontNames = [UIFontfontNamesForFamilyName:familyName];

for(NSString *fontNamein fontNames)

{

NSLog(@"\tfont name is %@", fontName);

}

}

这段代码会打印出全部的字体名字,然后我们在控制台进行搜索,看看有没有我们所加入的字体名。

5.第四步是能够省略的一个步骤,主要用于測试。在项目中支持字体的控件有两种(2.x版本号引擎),CCLabelTTF以及CocoStudio的Label控件。用法十分简单,CCLabelTTF的字体在create函数中就可以设置,而Label须要使用setFontName()方法。

CCLabelTTF label =CCLabelTTF::create("标签名", "SentyMaruko-02-SP", 32);

Label * label=Label::create()

label->setFontName("SentyMaruko-02-SP")

Cocos2d-x教程(28)-ttf 字体库的使用的更多相关文章

  1. 【转】cocos2d-x使用第三方的TTF字体库

    步骤一:找一个ttf字体库 步骤二:找到这个ttf字体库的真实名称 打开你的应用 "字体册"(MAC OS系统下),如下图操作): 找到了字体库真实名称,那么修改将其真名作为为此新 ...

  2. iOS上使用自己定义ttf字体

    项目中想使用第三方的字体,在stackoverflow上查询解决的方法,也折腾一会,加入成功,示比例如以下: 1.将xx.ttf字体库增加project里面 2.在project的xx-Info.pl ...

  3. iOS上使用自定义ttf字体

    本文转载至 http://blog.csdn.net/allison162004/article/details/38777777 项目中想使用第三方的字体,在stackoverflow上查询解决办法 ...

  4. [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)

    原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...

  5. 图片转web字体库,如何制作web字体库

    最近项目上用到了很多svg图,设计师经常频繁改版,苦不堪言,于是就想到了把图片转成字体库来使用. 使用图片的缺点: 1. 图片加载速度慢 2. 图片大小固定,无法调节 3. 当代码重构或者图片目录位置 ...

  6. centos7.0 安装字体库

    最近在centos7.0下用itextpdf将word文档转成pdf时出现字体丢失的情况.网上找了很多资料,各式各样的原因和解决方法.后来经过一番测试发现是centos7.0 minimal没有安装相 ...

  7. CentOS 7 安装字体库 & 中文字体

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效:  如上图可以看出,不仅没有中文字体,连字体 ...

  8. IOS添加自定义字体库

    1.将需要的字体库xxx.ttf添加到工程中,注意一定要在copy bundle resources中存在,如果没有添加上去 2.在info.plist 文件中添加 fonts provided by ...

  9. Android 使用图标字体库

    首先,在assets资源文件下放入图标字体库. 我这儿采用的是fontawesome-webfont.ttf 然后, 在安卓中加载这个资源文件 Typeface fontFace = Typeface ...

随机推荐

  1. Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策

    我每次与开发人员讨论将应用程序迁移到云时都围绕着两个主要问题. 1. 首先是业务.将应用程序迁移到云可以带来怎样的规模经济? 2. 其次是安全问题."云的安全性如何,尤其是Windows A ...

  2. Mac上利用Eclipse编译Cocos2d-x

    目前使用较多的Cocos2d-x开发平台是XCode,应该是由于大部分Cocos2d-x开发者都是iOS开发出生.但是当我们将XCode开发的Cocos2d-x工程发布Android版本时,每次都需要 ...

  3. C和指针 (pointers on C)——第十章:结构体和联合(上)

    第十章 结构和联合 这个部分先介绍了.运算符,能够供直接訪问,还介绍了->运算符,它取代结构体指针的间接訪问操作(*struct).xxx 这一章新手理解起来不算太难,没有学过操作系统的话理解位 ...

  4. poj 2786 - Keep the Customer Satisfied

    Description   Simon and Garfunkel Corporation (SG Corp.) is a large steel-making company with thousa ...

  5. 【从零学习openCV】opecv操作像素

    1. 存取像素值 在opencv中能够直接对cv::Mat类型的图像调用at函数读取或赋值某个像素,我们用个简单的案例来说明: //在一张图像上增加椒盐噪声,image为输入图像.n为噪点个数 voi ...

  6. win32创建控件的一些问题

    在我们使用CreateWindow();像一般控件建Windows扩展控件的时候我们会发现控件没有创建成功 这是因为我们没有对Windows扩展控件库进行初始化,这要我们使用InitCommonCon ...

  7. oracle在desc表时,name 和type列不能格式化问题(占位过长)

    今天玩Oracle的时候,遇到一个让人很无语的问题,我desc表的时候,总是发现name列和type 列占位太多, 无法很直观明白的显示出来各个列值,就像下面的样子: 这样让人很不舒服,当然,一看到列 ...

  8. flashcache中应用device mapper机制

    Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备. DM以块设备的形式注册到Linux内核中,凡是挂载(或者说“映射” ...

  9. Swift - 类初始化和反初始化方法(init与deinit)

    1,init():类的初始化方法(构造方法) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  10. Suse 创建NFS共享目录

    Suse 创建NFS共享目录 服务端的配置: 1.编辑nfs服务的配置文件 /software/suse11 *(rw,sync,no_root_squash,no_all_squash) 凝视: / ...