使用Glyph Designer创建位图字体

转http://book.2cto.com/201210/6610.html

 
《iOS 5 cocos2d游戏开发实战(第2版)》将引导您开发富有吸引力的2D游戏。书中展示了如何使用cocos2d这款强大的游戏引擎来开发iPhone和iPad游戏,此外还介绍了游戏中的瓦片地图、虚拟摇杆、Game Center等。本书...  立即去当当网订购

本书第1版问世后,www.71squared.com发布了一款可以替代Hiero的工具:GlyphDesigner。虽然该工具是收费的,不过物有所值。

在http://glyphdesigner.71squared.com可以下载Glyph  Designer的试用版本。如果你已经很熟悉Hiero,会发现两者的功能十分相似,但是Glyph Designer的用户界面要简单得多,而且有很多值得探索的地方。Mike  Daley在某一集的cocos2d  Podcast(可在http://cocos2dpodcast.wordpress.com找到)中提到,Glyph  Designer还会加入一个新功能,允许与该工具的其他用户共享字体设计。

图4-7所示为Glyph Designer。创建位图字体的过程相对轻松,试着调节Glyph Designer中各种旋钮、按钮和颜色没有坏处。下面将指出可以编辑的区域。

在图的左侧可以看到一个TrueType字体列表,如果不够用,可以使用Load Font图标加载任意TTF文件。在列表下方,可以使用滑动条改变字体大小,并应用粗体、斜体和其他字体样式。

提示:

创建支持Retina屏幕的位图字体很简单。正常创建字体并导出,这将是非Retina屏幕字体或SD字体。然后,在Glyph  Designer中将字体大小增加1倍。例如,将滑块从字号30移动到字号60。然后,使用相同的文件名,但是加上hd后缀,重新导出字体。现在就同时有了普通/SD 和Retina屏幕/HD大小的字体。

如果在具有Retina屏幕的设备上运行游戏,并且启用了对Retina屏幕的支持,cocos2d将自动识别并使用带有hd后缀的字体。

在屏幕中央,可以看到:得到的纹理图册用于当前字体设置。可以注意到,在修改字体设置时,纹理图册的大小和笔画的顺序会频繁地变化。可以选择一个笔画,在右侧窗格中Glyph Info的下方查看其信息。

在右侧窗格更下方的位置,可以修改纹理图册的设置,不过在大多数情况下没有必要修改。Glyph Designer确保了纹理图册总是足够大到能够在单个纹理中包含所有的笔画。

Glyph Fill提供的设置可以修改笔画的颜色和填充方式,包括渐变设置。还有两个选项:Glyph Outline和Glyph Shadow。使用Glyph Outline可以修改每个笔画旁边的黑色细线,使用Glyph Shadow可以为字体创建3D外观。

右侧窗格的最底部是Included Glyphs部分。在该部分,可以选择在纹理图册中包含哪些预定义的笔画。如果十分确定不需要某些字符,那么也可以输入自己的字符列表来减小纹理的尺寸。例如,在得分字符串中,只需要数字和很少的一些字符,所以这么做特别有帮助。

对位图字体感到满意后,可以保存整个项目,以便能够还原原来的设置。为了以ocos2d可用的格式保存字体,需要通过File | Export以.fnt(cocos2d Text)格式保存它。然后可以在Xcode项目中添加使用Glyph Designer创建的FNT和PNG文件,并在CCLabelBMFont类中使用FNT文件。

警告:

如果试图使用CCLabelBMFont显示.fnt 文件中不可用的字符,这些字符将被跳过,不会显示出来。例如,如果使用语句[label setString:@"Hello, World!"],但是位图字体中只包含小写字母,不包括标点符号字符,那么显示的将是字符串"ello orld"。

使用Glyph Designer创建位图字体的更多相关文章

  1. 详解利用ShoeBox制作位图字体

    http://childhood.logdown.com/posts/190580/-details-using-shoebox-produce-bitmap-fonts?utm_source=tui ...

  2. 在cocos2d-x中使用位图字体

    http://blog.csdn.net/fansongy/article/details/9006677 通常情况下,游戏中绚丽的文字和数字都不是字体生成的而是"贴"上去!今天, ...

  3. Laya 位图字体制作(失败...)

    参考: 官网教程-位图字体的制作与使用 一.下载字体并安装字体 从站长字体下载了液晶数字字体,将TTF文件拖入C盘windows/Font文件夹,则字体会自动安装 二.下载字体制作工具 Bitmap ...

  4. EUI组件之BitmapLabel 位图字体

    一.制作文图字体文件 使用TextureMerger制作位图字体,具体查看 官方教程. 我们这里制作了一组位图字体. 二.导入位图字体 位图字体素材放入资源配置文件default.res.json 三 ...

  5. CSS SANS – 神奇!使用 CSS3 创建的字体

    在我们的认识中,CSS 所能做的就是改变网页的排版布局,调整字间距等.然而,这里我们要介绍的则是使用 CSS3 制作字体.CSS SANS 可以通过 CSS 技术创建的A-Z字体,一起来围观下. 在线 ...

  6. NGUI-制作位图字体以及图文混排

    制作字体过程 首先得下载一个位图制作工具Bitmap font generator,可以点击这里下载 1.新建txt文件,输入字体里面包含的文字 2.保存为utf-8格式:点击文件另存为,选择编码格式 ...

  7. BCS--使用SharePoint Designer创建外部内容类型

    使用SharePoint Designer创建外部列表(也可以在浏览器中创建列表) http://www.cnblogs.com/haogj/archive/2011/05/01/2033845.ht ...

  8. 【咸鱼教程】BitmapLabel位图字体使用

    引擎版本3.2.6 教程目录一 为什么要使用位图字体二 如何使用位图字体2.1 TextureMerger制作位图字体2.2 exml中使用位图字体三 Demo源码 一  为什么要使用位图字体egre ...

  9. Vertica使用Database Designer创建完整的设计

    Vertica Database Designer 分析逻辑架构,示例数据库可以分析实力查询. 创建可自动部署或手动部署的物理架构设计(一组投射) 任何不具备数据库专业知识的人员均可使用 可以随时运行 ...

随机推荐

  1. 用node搭建静态文件服务器

    占个坑,写个node静态文件服务器

  2. oracle常用命令大全及心得

    学习时整理的 Oracle 1.set linesize 100; 设置长度2.set pagesize 30; 设置每页显示数目3.em a.sql 打开记事本 4.@ a 执行文件a中的代码,可指 ...

  3. Android Dex文件格式(一)

    dex是Android平台上(Dalvik虚拟机)的可执行文件, 相当于Windows平台中的exe文件, 每个Apk安装包中都有dex文件, 里面包含了该app的所有源码, 通过反编译工具可以获取到 ...

  4. String.prototype运用

    1.去掉字符串前后空格 String.prototype.ltrim = function () { return this.replace(/^\s+/, ""); } Stri ...

  5. 在Android项目中引入MuPdf

    由于公司手机App要加入一个附件查看功能,需要查看PDF文件,在网上找了许多第三方工具,最后选择了MuPDF. 更多第三方工具可以查看大神总结的:http://www.cnblogs.com/poke ...

  6. Activity之间传递参数(三)

    ------siwuxie095 传递值对象,即自定义的有数据类型的对象 1.首先 new 一个 class:User,用于创建自定义对象,同时右键 Generate 出 Constructor.se ...

  7. oracle启动脚本 .

        .#!/bin/bash set -x su -oracle >>EON lsnrctl start sqlplus /nolog >>EOF conn / as sy ...

  8. 音痴又音痴的LT

    中文题不解释.比赛时想着操作一次sort一次,然而T到死.后来才知道C++内置容器vector这么强大. 内置函数upperbound(查找数组的首地址, 查找数组的尾地址, 待查找元素)为logn复 ...

  9. centos文件误删除恢复

    Centos 文件误删除 当意识到误删除文件后,切忌千万不要再频繁写入了,否则 你的数据恢复的数量将会很少. 而我们要做的是,第一时间把服务器上的服务全部停掉,直接killall 进程名 或者 kil ...

  10. 04-JAVA中的类和对象

    1. Foo对构造函数进行了重载,那么默认的构造函数就不会被使用,在主类中,定义对象的时候,引用构造函数,却没有参数,自然无法通过编译. 2. 当设定字段初始值在初始化块前面的时候, 很明显使用了前者 ...