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

1 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数据文件。这时候引擎就可以直接使用这两个文件了。

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

Happy Designing!

Posted by ChildhoodAndy March 26, 2014 ShoeBox BMFont 位图字体 Bitmap Font Generator Glyph Designer

Comments

详解利用ShoeBox制作位图字体的更多相关文章

  1. 详解用CSS3制作圆形滚动进度条动画效果

    主  题 今天手把手教大家用CSS3制作圆形滚动进度条动画,想不会都难!那么,到底是什么东东呢?先不急,之前我分享了一个css实现进度条效果的博客<CSS实现进度条和订单进度条>,但是呢, ...

  2. 详解利用ELK搭建Docker容器化应用日志中心

    概述 应用一旦容器化以后,需要考虑的就是如何采集位于Docker容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志 收集.本文即将阐述如何利用ELK日志中心来收集容器化应用 ...

  3. 详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置

    本文提要 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过Docker ...

  4. 前端跨域问题相关知识详解(原生js和jquery两种方法实现jsonp跨域)

    1.同源策略 同源策略(Same origin policy),它是由Netscape提出的一个著名的安全策略.同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正 ...

  5. Dockerfile详解

    Dockerfile详解 利用Dockerfile文件,可以构建docker的image镜像 命令使用 通过-f参数指定Dockerfile路径,进行构建image docker build -f / ...

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

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

  7. 转载 JS组件Bootstrap Select2使用方法详解

    JS组件Bootstrap Select2使用方法详解 作者:懒得安分 字体:[增加 减小] 类型:转载 时间:2016-01-26我要评论 这篇文章主要为大家介绍了JS组件Bootstrap Sel ...

  8. EUI组件之BitmapLabel 位图字体

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

  9. JS hashMap实例详解

    链接:http://www.jb51.net/article/85111.htm JS hashMap实例详解 作者:囧侠 字体:[增加 减小] 类型:转载 时间:2016-05-26我要评论 这篇文 ...

随机推荐

  1. 0x01.被动信息收集

    被动信息收集 基于公开渠道,不与目标系统产生直接交互,尽量避免留下痕迹(不进行大量扫描,正常交互范围) 信息收集内容 IP段 域名 邮件地址(定位邮件服务器,分为个人搭建和公网邮件系统) 文档图片数据 ...

  2. 如何在Apache中使用PHP处理PHP文件

    一.将PHP预处理器作为Apache的模块(插件) Apache软件自身的功能都是基于模块化管理的. 将PHP预处理器作为Apache的一个模块即可. 在apache/conf/httpd.conf的 ...

  3. 《Cracking the Coding Interview》——第17章:普通题——题目11

    2014-04-29 00:00 题目:给定一个rand5()函数,能够返回0~4间的随机整数.要求实现rand7(),返回0~6之间的随机整数.该函数产生随机数必须概率相等. 解法:自己想了半天没想 ...

  4. Caliburn Micro Binding KeyDown Event

    <TextBox x:Name="MyTextBox" TextAlignment="Left" FontSize="10" Widt ...

  5. 【Binary Tree Right Side View 】cpp

    题目: Given a binary tree, imagine yourself standing on the right side of it, return the values of the ...

  6. 恢复误删除表黑科技之relay log大法(续)

      Preface       I've stuck twice in my previous experiments in backing up dropped tables.I am still ...

  7. jenkins构建定时任务

    jenkins构建定时任务的主要两种形式 1.Build periodically:周期性构建项目,无论有没有代码更新到时间都会构建项目 2.Poll SCM:定时检查源码变更(根据SCM软件的版本号 ...

  8. IDEA调试快捷键

    F9            resume programe 恢复程序 F8            Step Over 相当于eclipse的f6      跳到下一步 Ctrl+Shift+F,全局查 ...

  9. 孤荷凌寒自学python第六十二天学习mongoDB的基本操作并进行简单封装1

    孤荷凌寒自学python第六十二天学习mongoDB的基本操作并进行简单封装1 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第八天. 今天开始学习mongoDB的简单操作, ...

  10. try-catch-finally容易犯的错误

    测试环境 JDK1.8 1. catch中包含return //有return的时候 输出13423 //无return的时候 输出134234 public class Trycatch { pub ...