NGUI制作字体的三种方法
主要参考两篇博文:
(1)、NGUI制作字体的三种方法
1.BMFont下载地址
http://www.angelcode.com/products/bmfont/
2.BMFont使用方法
http://momowing.diandian.com/post/2013-01-24/40046239211
首先打开Font Settings,选择要制作的字体。可以从Font列表中选择一种字体,也可以通过Add font files导入一个ttf字体文件。
Charset字体编码默认为Unicode,当然也可以选择其它的。
点击OK,字体设置成功。
然后打开Export Settings,进行导出设置
Width和Height的值,尽量选小,只要能够容纳我们需要用到的所有字就可以了,选大了浪费。
Bit depth,32位比8位更清晰,不过负担更大。
Font descriptor选择Text
Texture选择png
选择OK,完成导出设置。
接下来我们就可以选择我们所要制作的字,一个一个去找太麻烦了,我们可以先新建一个txt文件,在其中输入我们要制作的字,然后Select chars from file就可以直接选中所有要用到的字了。
注意
1.在导入前要先clear all chars in font。
2.由于txt文件的编码方式不是在上面设置的unicode,所以我们要对这个txt文件另存为unicode方式,并覆盖。否则,在导入时会提示charcters from the file are not available in the font
最后Save bitmap font as就可以导出一个png和一个fnt,将fnt改为txt格式。这就是我们在ngui中制作bitmap字体所用到的两个文件了。
3.新版NGUI提供的三种创建字体方式
(1)使用BMFont制作的png文件和txt文件制作bitmap字体。分别将两个文件拖入texture和font Data里面。 缺陷:局限于个别字。不能随意改变。还要用外部工具BMfont来创建字体集。
(2)动态字体,需要先导入一个ttf字体文件。C/windows/fonts下面就有很多。也可以从网上下载一些独特的字体。
导入后,拖入Source中,选择size等就可以创建一个字体。
也可以另外手动创建http://momowing.diandian.com/post/2013-05-07/40051478498
注意看下面的提示:要使用动态字体,不必创建UIFont,只需要在UIlabel中选择Unity,再将ttf文件拖入font中即可。
缺点:动态字体不能作为一个atlas的一部分,所以使用动态字体必然要增加至少一个draw call。而且ttf文件一般较大,会大大地增加包大小
本篇讲解如何利用美工提供的字符图形来生成自定义字体。
美术提供的字体经常是下面这样的:
或者这样的:
这时候我们就要借助BMFont了,首先针对真彩色的图形,我们要做一些设定,点击"Options"->“Export options”:
在弹出的窗口中,注意红框中“位深”,设为32:
然后,点击"Edit"->"(Un)Select all chars",取消选择所有字符。因为我们将在后边导入需要的字符。
OK,现在点击"Edit"->"Open Image Manager":
弹出图片管理窗体,如下:
那个"Image"是菜单,可以点击。选择"Image"->"Import image...":
弹出如下窗体:
点击"Browse"按钮,在弹出的“打开”窗口中选择一个字符图片,比如"0":
然后在ID后的文本框中输入字符"0"的Ascii值:48,点击"OK"。
这时返回主窗体,你会看到字符表中"0"右下角有一个小亮点标记,说明该字符的图形为自定义图片。如下图:
按上述方法,依次加入其它字符的图片,完成后如下:
OK,下面准备导出。导出前我们可以先点击"Options"->"Visualize"预览一下:
最后得到如下文件:
将生成的这两个文件,拖入上面提到的NGUI制作方法(一),的两个框框内,点击create,即可生成需要的UIFont的Prefab。
NGUI制作字体的三种方法的更多相关文章
- 用css伪类制作三角形的三种方法
在手机上写三角形的时候,我一般都用伪类,刚开始的时候用的图片,但是在现在的手机高清屏幕上,图片容易失真,还是用伪类吧! 第一种:一个90度的“ > ”, 只有线条.(可以做下拉框的箭头之类的) ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- Android 改变字体颜色的三种方法
在TextView中添加文本时有时需要改变一些文本字体的颜色,今天学到了三种方法,拿出来分享一下 1.在layout文件下的配置xml文件中直接设置字体颜色,通过添加android:textc ...
- 纯Css绘制三角形箭头三种方法
在制作网页的过程中少不了绘制类似图片的三角形箭头效果,虽然工程量不大,但是确实麻烦.在学习的过程中,总结了以下三种方法,以及相关的例子. 一.三种绘制三角形箭头方法 1.方法一:利用overflow: ...
- Centos内核升级的三种方法
本文出自 “存储之厨” 博客,请务必保留此出处http://xiamachao.blog.51cto.com/10580956/1755354 在基于CentOS平台的工作过程中,难免有时需要升级或者 ...
- Android TextView里直接显示图片的三种方法
方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般假设字体是在图片上重叠的推荐这样写.时间关系,这个不付源代码了. 方法二:利用Tex ...
- 三种方法为QLineEdit添加清除内容按钮
很多时候我们会发现输入的一长串内容不得不全部删除重新输入,这时比起一直按着退格键不放一个清除内容按钮更受欢迎. 今天我将介绍三种为QLineEdit添加清除内容按钮的方法,其中两种方法有较强的功能针对 ...
- win10进入到安全模式的三种方法
这里介绍三种方法: 如果能够进入到系统 点击开始--设置--更新和安全--恢复,右侧点击高级启动中的立即重启 能够进入到登陆界面 进入到登录屏幕后,在按住 Shift 键的同时依次选择“电源” > ...
- ubuntu下安装软件的三种方法
在ubuntu当中,安装应用程序常用的三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种. apt-get方法 使用apt-get install来安装应用程序 ...
随机推荐
- 深入解读键值产生原理,linux中的软链接和硬链接(转)
键值 = 文件标示符 + 项目ID 当用到进程间的通信时, 必须要注意到的是键值是怎么产生的,我们知道任何一个文件时通过文件名来访问的, 而内核在对应的给其一个值,也就是文件标示符. 系统建立IPC通 ...
- elk架构图
一.概述 笔者为了节约宝贵的服务器资源,把一些可拆分的服务合并在同一台主机.大家可以根据自己的实际业务环境自由拆分,延伸架构.
- C#创建文件夹并设置权限
原文地址:https://www.cnblogs.com/top5/archive/2010/04/12/1710141.html /* 需要添加以下命名空间: using System.IO; ...
- spring cloud 之 Feign 使用HTTP请求远程服务
一.Feign 简介 在spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLCo ...
- [AaronYang原创] 敏捷开发-Jira 6.0.5环境搭建[1]
我的环境 Win7 64位,MSSql2008 R2,已经安装tomcat了 拓展环境 jira 6.0.5 百度网盘下载 官网更多版本下载 安装好Java的运行环境(j ...
- Linux内核同步:自旋锁
linux内核--自旋锁的理解 自旋锁:如果内核配置为SMP系统,自旋锁就按SMP系统上的要求来实现真正的自旋等待,但是对于UP系统,自旋锁仅做抢占和中断操作,没有实现真正的“自旋”.如果配置了CON ...
- 删除vector指定位置的元素
原文链接: http://www.cnblogs.com/yeahgis/archive/2012/05/29/2523476.html #include <vector>#include ...
- 关于switch语句中使用String类型的实现原理
在Java 7 以后,switch语句可以用作String类型上. 从本质来讲,switch对字符串的支持,其实也是int类型值的匹配.它的实现原理如下: 通过对case后面的String对象调用ha ...
- 关于埃博拉病毒的基本知识(ABC)
科学研究表明.埃博拉病毒的存在历史很久远,可能有两千多万年的历史,在类人猿出现的时期就已存在. 埃博拉病毒呈现一种"蚕丝状",又细又长,无色透明.直径有80纳米,长短不等,在14微 ...
- 安卓listview滚动时背景变黑的解决方法
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉, 原因是,滚动时,列表里面的view重绘时,用的依 ...