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

1 ShoeBox 简介

  • ShoeBox官网

ShoeBox是一个基于AdobeAIR实现的免费跨平台的工具。这个工具使用拖放、剪切板的工作流程方式,能够很方便的处理游戏图片、创建位图字体等。

  • 支持引擎

2 功能概括介绍

ShoeBox虽小,五脏俱全。作者做这个工具足见是用了心,如果各位想捐款,官网右上角:)。写这篇文字的时候,笔者用的版本是最新版3.4.2。官网的一些图片说明不少是老版本的,注意下就可以了。

Sprites

  • 打包位图(Sprite Sheet)

这个功能非常强大。我们在游戏制作中,经常利用TexturePacker等工具,将一些碎图图片合成一个精灵表单(spritesheet),好处不言而喻。ShoeBox的这个功能,在一些方面并没有TP工具那么强大,但却有自己的特色功能。TA可以将多个图片,SWF(AS1,AS2,AS3版本)动画或者GIF动画合成到一个纹理图上,强大吧,支持SWF/GIF哦。

  • 读取精灵(Read Sprites)

读取一个精灵表单或者位图字体集,并将他们单独导出为精灵图片。要求图片文件和查找索引文本文件(即图片描述数据文件)。

  • 提取精灵(Extract Sprites)

上图是我拿FlappyBird的精灵表单做的试验。

检测具有alpha通道的图片的精灵图片并一次标上序号导出。这个功能可以在你丢失了图片描述文件的情况下,用作精灵表单反向导出精灵图片。同一个物体如果在图片上有透明间隙,会被表上多个序号,这里不是很理想,朋友们如果要用这个功能的话注意下。

  • 设定锚点(Sprite Pivots)

这个我们在Cocos2D里面用的不多,starling里面倒是有设置pivot的。

GUI

  • 位图字体(Bitmap Font)

这个就是我们今天介绍的重点了。见后面的详细介绍。

  • 拆分PSD文件(Split PSD)

这个功能绝对是美术人员的福利。强烈建议朋友们推荐给自己公司的MM们,给她们介绍下这个ShoeBox,并握着她们的小手手,手把手教她们如何使用这个功能。如果美术是GG,不管了。我不知道其他美术是怎么做的,作为非美术的我,但经常使用Photoshop,我在导出图片的时候,如果图层过多,通过隐藏其他图层,将图层的图片一个个单独导出,其中还要涉及裁剪或者新建文档导出。麻烦不?当然了。所以,这个功能能高效的导出PSD中的图片。

  • Slice 9

顾名思义,这个功能处理的是九宫格图片。因为在Cocos2D中有自己的九宫图类,这里就不介绍了。

Animation

  • 动画帧(Ani Frames)

将GIF或者SWF动画导出为帧序列图。异常强大!将上面的GIF动画图片拖放到AniFrames上后,保存会导出该动画的序列帧。SWF同理。这个功能通常用来解析资源。

  • 帧表单(FrameSheet)

这个功能集合了动画帧序列导出(AniFrames)以及打包精灵图片(Pack Sprites)功能,将GIF或者SWF动画文件拖放到上面后,可以保存为一个精灵表单,内容包含了动画的帧序列图。

Bitmaps

  • JPNG位图(JPNG Bitmap)

将32位RGBA位图转成24位的JPG格式图,附带一个alpha通道组。引擎解析需要加载JPG图片,然后通过复制右边的alpha通道并应用到左侧的颜色区域来重新组成32位的RGBA图。貌似这种做法现在很少用了。

  • Mask Image

将JPG图片进行遮罩和羽化,合成了一张复杂的图。还不清楚这个具体怎么使用。

Misc

  • Flickr Upload
  • Clean Up Text
  • Mac to PC url

这三个游戏基本用不到。就不介绍了。想要进一步了解的,可以深入官网探个究竟。

3 言归正传 创建位图字体

通常情况下,Windows下我们可以使用免费的Bitmap Font Generator,mac下可以使用付费的Glyph Designer。有了这款跨平台的ShoeBox,美术人员可以完全按照自己的设计,做出一套位图字体,支持中文。

工作流程

1.右键打开设置面板,在Txt Chars输入你要制作的字体,如我这里输入abcdefghijklmnopqrstuvwxyz这些字体,最后给大家呈现一个cocos quick的美术效果。FollowMe!

2.按住BitmapFont图标2s左右,会复制我们的字符集到剪切板上,这时候打开Photoshop,新建一个文件,用文本输入工具或者热键T点击画布,然后粘帖剪切板上的字符到画布上。如下图所示

字体毫无美感可言,不是么?

3.下面是发挥设计能力的时候了。让美术尽情设计字体吧。我随便给文字加了个描边、外发光、投影,如下图

4.保存刚才的设计,导出为PNG图片。这里需要注意下,在设计的时候字体的间距不要太靠近,否则ShoeBox在后面识别的过程,会将太过于靠近的字体识别为一个字体。

5.拖放上步保存的图片到BitmapFont图标上,这时候会有流动的虚线表示可以拖放有效。如果你拖个JPG图片的,是无效的。

6.见证奇迹的时刻到了!

在设置面板的 Message 一栏里面,我们输入cocos quick,设定字符间距(KerningValue)为合适的值比如-2,空格宽度(TxtSpaceWidth)为5,然后apply应用确定,可以看到文字的预览效果。

7.参数调整合适后,保存字体(SaveFont),会在原始图片目录下生成一个PNG图片和FNT数据文件。这时候引擎就可以直接使用这两个文件了。

如果大家觉得看着文字麻烦,可以先看下视频。

  • 【优酷视频ShoeBox 创建位图字体】
  • 【优酷视频ShoeBox 汉字位图例子】

Happy Designing!

Comments

转载于:https://www.cnblogs.com/xuejinhui/p/4425071.html

详解利用ShoeBox制作位图字体相关推荐

  1. 【初学不要怕】详解利用Python制作PPT的精彩操作(一学就会)

  2. iTextSharp 使用详解用C#制作PDF文件全攻略

    iTextSharp 使用详解&用C#制作PDF文件全攻略 http://blog.csdn.net/gatr/article/details/278173 转载于:https://www.c ...

  3. 汉堡按钮html写法,ProtoPie 详解 — 汉堡按钮制作

    原标题:ProtoPie 详解 - 汉堡按钮制作 每周一期的 ProtoPie 详解教程又来啦,上期马克笔设计留学的MUzi老师主要介绍了 ProtoPie 的交互动作原理<ProtoPie详解 ...

  4. html 字体模糊,详解css3使用transform出现字体模糊的解决办法

    这个问题很奇葩,话不多少直接上代码: .g-dialog-wrapper { position: fixed; top: 50%; left: 50%; transform: translate(-5 ...

  5. 详解利用基于gensim的TF-IDF算法实现基于文本相似度的推荐算法

    详解利用基于gensim的TF-IDF算法实现基于文本相似度的推荐算法 TF-IDF的基本原理 算法思想 计算公式 相似度计算原理 微型图书推荐案例 案例背景 开发工具 数据预处理 TF-IDF模型建 ...

  6. python zxing 识别条码_详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强...

    前言 这周和大家分享如何用python识别图像里的条码.用到的库可以是zbar.希望西瓜6辛苦码的代码不要被盗了.(zxing的话,我一直没有装好,等装好之后再写一篇) 具体步骤 前期准备 用open ...

  7. android led闪烁功能,详解Android应用层制作LED指示灯

    详解Android应用层制作LED指示灯 在Java应用层修改LED指示灯的颜色,这个花了我半天时间, 才实现该功能! public class LEDActivity extends Activit ...

  8. python middleware模块_详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击...

    一.在django后台处理 1.将django的setting中的加入django.contrib.messages.middleware.MessageMiddleware,一般新建的django项 ...

  9. pyzabbix 删除触发器_zabbix设置邮件报警, Zabbix常用Key值, zabbix触发器表达式详解, zabbix制作自己模板...

    zabbix设置邮件报警 方法一:说明此方法,会产生中文乱码问题 第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件 yum -y install mailx 然后编辑mailx的配置文件 ...

  10. 电影剪辑属性详解-Flash-网页制作

    <script type="text/javascript"> google_ad_client = "pub-8800625213955058"; ...

最新文章

  1. android学习之WebView
  2. js小效果-简易计算器
  3. JavaScript中“ =gt;”(等于或大于的箭头)的含义是什么?
  4. 简便解法:1004 成绩排名 (20分)
  5. 关于windows的version和OS build version
  6. Getting Started With Hazelcast 读书笔记(第七章)
  7. python 动漫卡通人物图片大全_用Python把人物头像动漫化,不同的表情给你不同的惊喜...
  8. d3 v5 api arrays
  9. 如何保证线程安全有序性_线程安全性-原子性-可见性-有序性
  10. 30个免费网页设计模板
  11. 华硕装鸿蒙系统,智能家居 篇八:解决华硕路由器设置不当造成传感器延迟
  12. 排水沟槽开挖土方的计算方法(平行相似梯形组成的六面体体积分割计算方法)
  13. 推荐系统-协同过滤简单介绍
  14. 麒麟V10 root登录系统
  15. mac 远程计算机,Mac系统如何远程桌面到Windows系统
  16. unity3D女性人物模型 适合用于游戏开发的素材
  17. 微信小程序——video视频全屏播放
  18. 破解入门(四)-----实战单步跟踪法脱壳
  19. psp的php文件怎么打开,【转贴】pspchina十三,教你用一个电池告别砖头[不用额外买电池]...
  20. 小球撞击砖块C语言,制作一个小球撞击砖块游戏

热门文章

  1. 数据结构与算法LeetCode题目索引
  2. float.valueof()自动截取有效位数
  3. 跨域通信——多窗口通信
  4. blend 自定义控件
  5. MyBatis学习(一):简单的运行
  6. 【转】Servlet/JSP学习笔记(3)-Lomboz介绍+安装方法
  7. 【NLP】XLNet详解
  8. LeetCode 150. 逆波兰表达式求值(Evaluate Reverse Polish Notation) 24
  9. 201571030139/201571030134 小学生四则运算软件结对编程
  10. dispatcherServlet流程图