在Cocos2d中使用CCLabelBMFont类时,需要提供纹理贴图和对应的fnt文件。制作文理贴图和fnt文件有下面这几种软件:

Glyph Designer (支持Windows和Mac平台,收费,稳定)

TinyFont (功能上要比Glyph Designer少,操作简单,支持Mac平台,收费)

Hiero (需要Java虚拟机,支持Windows和Mac平台,功能有bug,免费)

BMFont (支持Windows平台,功能相对简单,稳定,免费)

从成本角度考虑,我们排除掉前两个软件,Hiero环境搭建相对比较复杂,而且最终生成文理文件的功能也不稳定,有bug,因此我们选择BMFont来制作,虽然可以实现的效果简单一点,但是免费而且稳定,并且本文中我们来教你如何通过Photoshop来丰富我们最终得到的纹理效果。

BMFont工具的下载地址:

http://www.angelcode.com/products/bmfont/

首先我们介绍一下BMFont的使用方法。

打开BMFont的界面如下:

看到左侧为可选的字符列表,右侧为分类选择列表。打开菜单栏中的Options菜单,我们可以看到FontSettings,ExportOptions,Visualize,Savebitmap font as…等菜单项。

选择FontSettings,打开字体设置:

我们看到字体设置中可以设置字体(Font),添加额外的字体文件,设置字符集,字体的大小,样式等属性。Outputinvalid char glyph选项用来设置当制定字符不在TrueType字体定义中的时候,是否需要使用Unicode中定义的fallbackfont来显示相应的字符。关于TrueType和Fallbackfont详细介绍请参考:

http://baike.baidu.com/link?url=X8e7AnhU50_k5m9U429tgNLU4V1Buf7iZ7-7HArXejKXI9dSnsL9I7Z9SHNll9BliOg9VypqzexfYxs48XUJVK

http://en.wikipedia.org/wiki/Fallback_font

Do not include kerning pair用来设置是否允许使用字间距配对来调整字体间距。

关于KerningPair的参考资料:

http://www.blueidea.com/design/doc/2007/5160.asp

下面还有一些关于图像栅格化(rasterizing)的选项,有兴趣的朋友可以参考官方手册中的介绍:

http://www.angelcode.com/products/bmfont/doc/font_settings.html

最后Effects中可以设置描边(Outlinethickness)大小。

接着我们来看ExportOptions,即导出设置:

Padding用来设置导出的纹理图中每个字符文理的内边距,Spacing用来设置字符纹理图之间的距离(不影响字符纹理的大小),Equalizethe cell heights用来设置所有的字符纹理高度相同,Force offsets to zero选项勾选后,生成的每个字符纹理的xoffset和yoffset都会被置为0,xadvance等于字符纹理宽度,并且默认选择Equalizethe cell heights。

下面的Texture用来设置纹理贴图的总大小,当改大小不足以装下所有字符时,会使用分页的方式来实现,即一个fnt文件对应多张png纹理图。

Chnl Value用来设置ARGB通道,关于通道的使用方法,参考官方文档中的说明:

http://www.angelcode.com/products/bmfont/doc/export_options.html

常见的几种设置方法:

32位白色字符+黑色边框:outline,red = green = blue = glyph

32位白色字符(无边框):alpha =glyph, red = green = blue = one

Preset中定义了一些预置的通道设置供用户选择。

File format中用来设置导出的fnt文件类型和纹理贴图文件类型,以及文件压缩方式。

Visualize菜单项用来预览生成的纹理贴图效果。

Save bitmap font as…菜单项保存fnt文件和纹理贴图文件。

下面我们制作一个小例子:

首先我们选择一种字体,例如常见的Arial字体,然后我们在右侧的列表中选择第一个分类,然后在左边的字符中选中下面图中标出的字符(BMFont中选中字符为浅灰色,未选中字符为深灰色,最终导出的时候,BMFont只会为我们导出选中字符,所以一定确保你选择了字符,不然会得到一张空白的纹理图):

接着在FontSettings中设置:

Export Options的设置:

然后导出png和fnt文件。

接着使用Photoshop打开图片,设置图层属性如下:

设置完成后得到下面的效果:

我们在前面ExportOptions里面之所以设置了右侧和底部的Padding为3,就是为了为我们的投影留出空间。

我们在Xcode中用保存好的png和fnt文件来测试一下输出的效果,调用代码:

CCLabelBMFont*bmFont = [CCLabelBMFont labelWithString:@"test1234~~~"fntFile:@"fntexample.fnt" width:0 alignment:kCCTextAlignmentLeft];

bmFont.scale = 2;

bmFont.position =ccp(200, 200);

[selfaddChild:bmFont];

显示效果:

这里只是举一个简单的例子,我们还可以结合BMFont和Photoshop制作出很多更为好看的文字效果,大家可以在实践中根据自己的需要来进行设计。

教程就到这里,如果有什么问题欢迎留言。

教你使用免费的BMFont工具和Photoshop来制作纹理贴图和fnt文件相关推荐

  1. 教你如何免费使用微商工具,微信上一键添加,自动评论、点赞等系列功能,具有物理模拟人工点击没有封号性

    教你如何免费使用微商工具,微信上一键添加,自动评论.点赞等系列功能,具有物理模拟人工点击没有封号性 1.介绍基本要素 [软件名称]:微友人脉 [软件版本]:1.3.6 [软件大小]:7.16MB [软 ...

  2. 全程2分钟!教你如何免费下载Windows 10

    全程2分钟!教你如何免费下载Windows 10 2014-10-02 08:40:59  来源:pconline 原创  作者:唐山居人  责任编辑:caoweiye  (评论314条) 终于在经过 ...

  3. 免费正则表达式辅助工具(转)

    免费正则表达式辅助工具 前段时间由于工作需要,学了一天的正则表达式,发现正则表达式功能实在是强大,但是也很奇怪,刚接触会很不习惯.我不需要很深入地了解,所以也没学多久,不过找了几款很不错的免费的正则表 ...

  4. 分享:手把手教你如何免费且光荣地使用正版IntelliJ IDEA

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 TIPS 近日在个人技术讨论QQ群里,谈论到IDEA的那些事儿.有童鞋居然在某电商网站花钱买激 ...

  5. 推荐5最佳免费图像注释工具

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 图像标注是有监督机器学习中的数据标注技术之一,要做图像注释,必须需 ...

  6. Free Download Manager (FDM) 中文版 - 替代迅雷最佳免费开源下载工具软件

    https://www.freedownloadmanager.org/ Free Download Manager (FDM) 是一款经典免费纯粹的下载软件,它开源无广告,界面简洁清爽,支持 BT. ...

  7. 永洪Desktop全能力永久免费 国产数据分析工具迈向新阶段

    2021年4月27日 数字探索 触手可及 永洪科技新品发布会在北京成功举办 发布会上,永洪科技面向个人用户带来了一款颠覆行业,人人都可轻松上手使用的桌面智能数据分析工具--Yonghong Deskt ...

  8. 如何选择免费网站监测工具?国外mon.itor.us还是国内监控宝!

    买了一个国外的网站空间或者是虚拟主机,放好了自己的网站,就可以给别人浏览和访问了.可是,我们不可能24小时守候在电脑上前面来查看我们的网站是否可以正常运行.退一步讲,我即使发现了网站空间不能够运行也需 ...

  9. 开源/免费界面自动化测试工具对比研究

    摘要: 随着我行自动化测试实施范围的不断扩大,参与界面自动化测试的应用系统越来越多.我行的应用系统现阶段多采用商用工具QTP(UFT)作为执行工具来进行界面自动化测试,采购的QTP license是有 ...

最新文章

  1. elasticsearch创建mysql索引_ElasticSearch快速使用,基本索引创建-增加type-mapping-插入数据...
  2. 面试:如何从大量的 URL 中找出相同的 URL?
  3. openstack上传镜像失败_制作云window10镜像
  4. python实现键盘记录器
  5. CG CTF WEB 伪装者
  6. ubuntu之间传文件
  7. yii2通过url访问类中的方法_行为型设计模式 访问者模式
  8. 设计灵感|元素拼接的海报到底好看在哪里?
  9. 设计师必备,设计导航网站一流设计导航|16map
  10. win7配置iis 出现:HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容...
  11. swager java_Swagger介绍及使用
  12. java 二分查找法和顺序查找法的效率比较
  13. 银联在线支付、第三方快捷支付三种快捷支付模式有何区别?
  14. 【读书笔记】《梁宁·产品思维三十讲》——产品经理人生规划修心课
  15. 视易收银系统怎样连接服务器,视易收银系统操作方法
  16. Navicat安装教程(超详细)
  17. 计算机408学什么区别,考研计算机408考什么
  18. Keras:我的第一个神经网络二分类模型
  19. 自主安装IPA文件到iPhone上
  20. 宁皓网bootstrap

热门文章

  1. unity3d实现第一人称射击游戏之CS反恐精英(一)(第一人称移动)
  2. 服务器数据库的简单维护,服务器数据库的简单维护
  3. Android系统签名简介
  4. backup exec oracle agent无法验证数据库凭证,通过Backup Exec实施Oracle灾难恢复数据库 -电脑资料...
  5. 使用Heritrix进行主题抓取
  6. CPU虚拟化的三种技术
  7. 基于stc15f2k60s2芯片单片机编程(时钟DS1302)
  8. 发生身份验证错误。要求的函数不受支持(远程连接)
  9. 数通学习笔记1 - 数据通信网络基础
  10. 彻底解决windows英文版操作系统中文乱码问题