Laya的位图字体bitmapFont字体用法
一 效果
二 工具
BMFont (下载地址:http://www.angelcode.com/products/bmfont/)
建议下载第三个,不需要安装,双击打开直接使用
三 准备图片
制作需要的文字,以数字为例:
以这十个数字为例制作位图。
切图,每个数字单独切成一个图片。
四 制作位图字体
选择Edit -> Open Image Manager,打开界面:
在这个界面导入图片,选择上面切出的文字图片。
导入图片是数字0的图片,然后Id这里设置为0对应的数字,右下角位置。
依次导入十个数字。导入完成之后,界面如下:
五 设置导出位图字体
Options-> Export Optons
Width是导出的图片的宽度
Height是导出的图片的高度
bit depth 设置32位。保留透明度
最下面的File format中,Font descriptor必须设置为XML。否则Laya无法识别字体。
Textures设置为png图片。
Compression设置为Deflate。
点击OK。
六 导出字体
导出位图字体,设置位图字体的名称,不要设置后缀名。我这里设置为font_num
导出的字体文件为:
七 使用位图字体
把上面导出的位图字体放在bin目录下的res目录下的子目录font_add下。
建议将字体直接放在bin目录的res目录下,由代码加载,不要放在项目的assets目录下。原因这个后面再提。
代码中如下:
private mFontName:string = "diyFont";private bitmapFont: Laya.BitmapFont;private setBitmapFont(): void {this.bitmapFont = new Laya.BitmapFont();this.bitmapFont.loadFont("res/font_add/font_num.fnt",new Laya.Handler(this,this.onLoaded));}private onLoaded(): void {this.bitmapFont.autoScaleSize = true;Laya.Text.registerBitmapFont(this.mFontName, this.bitmapFont);var txt = this.mText;txt.text = "09876652134";//设置宽度,高度自动匹配txt.width = 750;//自动换行txt.wordWrap = true;txt.align = "left";//使用我们注册的字体txt.font = this.mFontName;txt.fontSize = 10;txt.leading = 5;this.mLabel.font = this.mFontName;this.mLabel.fontSize = 24;}
- 1
mFontName为位图字体设置一个名字,随便起名即可 - 2
创建Laya.BitmapFont对象,并加载字体 - 3
加载完成之后,执行onLoaded方法,注册mFontName名字的字体 - 4
this.mText和this.mLabel分别是Laya.Text和Laya.Label组件对象,可在IDE的场景中设置
字体加载完成,代码中设置mText和mLabel对象的属性。
最主要的是设置font属性是上面注册的字体名称
以上完成之后,就可以看到位图字体了。效果如下:
位图字体当然不止这样的数字文字的设置了,也可以设置中文字体,可以参考官网的设置(http://ldc.layabox.com/doc/?nav=zh-ts-1-2-5)
八 使用FontClip和Clip
效果图:
准备一个图片
场景添加FontClip
skin属性设置为准备好的图片
sheet属性 设置为图片中的文字,与图中文字一一对应,可以有中文
value值设置为图中文字的随意组合
spaceX代表字符间水平间距
spaceY代表字符间垂直间距
direction代表图中文字方向,默认水平
至于Laya.Clip组件的使用与之类似。
这两个组件组件特别适合游戏开发当中‘第几关’、‘第几级’等等,也适合文案固定组合的字体的设置。
九 注意事项
- 1
位图字体的导出文件格式必须是XML格式,否则Laya不能识别,位图设置无效。(这一点与Cocos中使用位图字体的导出格式不同,Cocos中导出的格式Text即可使用)
- 2
位图字体的使用,如果需要设置位图大小,则需设置
this.bitmapFont.autoScaleSize = true;
如果不设置为true,则设置字体文字大小无效。
欢迎关注公众号:技术印象
更新:2019年6月16日
完整的github代码地址:
https://github.com/longyinzaitian/WxLayaGame
欢迎各位朋友star,多多指教!
Laya的位图字体bitmapFont字体用法相关推荐
- android布局黑色字体颜色,Android开发之FloatingActionButton悬浮按钮基本使用、字体、颜色用法示例...
本文实例讲述了Android开发之FloatingActionButton悬浮按钮基本使用.字体.颜色用法.分享给大家供大家参考,具体如下: 这里主要讲: FloatingActionsMenu自定义 ...
- 网络字体的中文用法(一)
网络字体的中文用法(一) 2014年6月10日 歪脖骇客 1条评论 9 如果你使用的Windows XP操作系统,在浏览中文网页时,你会发现网页上的汉字基本上全部都是宋体.这是因为你的操作系统里安装了 ...
- truetype字体怎么转换成普通字体_字体 – 如何将位图字体(.FON)转换为truetype字体(.TTF)?...
使用 FontForge Autotrace然后手动进行一些修正. 首先在Fontforge中集成Autotrace,请参阅Autotracing bitmaps in FontForge.这是我如何 ...
- Laya的位图/文字
参考: Laya文本 测试版本:Laya 2.1.1.1 大部分游戏都会用到位图文字,例如dnf的伤害数字. 白鹭的位图文字是美术提供0-9十张单张图片,由TextureMerger导出fnt+jso ...
- html中哪些字体不识别中文字体,div字体_正确设置div兼容的汉字中文字体
这里可以学习DIV字体设置方法,同时如果设置常见中文汉字字体,就需要将汉字进行转化或使用英文对应汉字字体来兼容各大浏览器,这样CSS设置的字体才能兼容各地浏览器. 一.全网页DIV默认字体设置 div ...
- 关于字体和字体微调(Hinting )的知识
点阵字体与矢量字体点阵字体也叫位图字体,其中每个字形都以一组二维像素 信息表示.由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下.但对于 12-16px 这样小的汉字, ...
- [zz] 关于字体和字体微调(Hinting )的知识
点阵字体与矢量字体点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示.由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下.但对于 12-16px 这样小的汉字,点 ...
- 字体: 字体平滑,反锯齿,和次像素渲染(收集)
点阵字库是把每一个汉字都分成16×16或24×24个点,然后用每个点的虚实来表示汉字的轮廓,常用来作为显示字库使用,这类点阵字库汉字最大的缺点是不能放大,一旦放大后就会发现文字边缘的锯齿. 点阵字体也 ...
- js字体溢出字体变小_如何在网络上使用可变字体
js字体溢出字体变小 可变字体是由从事字体设计的四家最大的技术公司--Apple,Google,Microsoft和Adobe共同开发的. 顾名思义,可变字体允许设计人员从同一个字体文件中获取无限数量 ...
- 关于字体和字体微调(Hinting )的知识 .txt
点阵字体与矢量字体点阵字体也叫位图字体,其中每个字形都以一组二维像素 信息表示.由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下.但对于 12-16px 这样小的汉字, ...
最新文章
- LabVIEW跳转访问网页
- HTTP API 自动化测试从手工测试到平台的演变
- 备忘录(scanf和continue)
- [转]有关IIS的虚拟目录的控制总结
- mysql distinct、group_concat
- 【数据结构总结】第五章 树和二叉树(非线性结构)
- MySQL常用存储引擎之MyISAM
- ZigBee技术的应用和优势
- 郓城天气预报软件测试,郓城天气预报15天
- activitimq集群搭建_Spring-activiti
- matlab gui教程 计算器,matlab gui编写的计算器程序
- Python中的*self,*self._args, **kwargs
- 愿你不会像我一样,活成狗一般的生活!
- 网络安全等级保护细则
- python的pygame模拟太阳-地球-月亮-金星等动态示意图代码分析
- No debugging symbols found in a.out
- 苹果暗黑模式_微信暗黑模式终于来了!这次微信对苹果认怂了?腾讯张军回应......
- 基于深度学习的中文语音识别系统框架搭建
- 资产负债表java_2.资产负债表的基本要素有( )。
- 一、简单工厂模式(simple factory method)
热门文章
- 苹果电脑推出MacOSMojave10.14.5支持隔空投放2
- matlab求解联名方程组带三角函数的,matlab三角函数方程组
- 本特利990-05-50-02-00变送器
- adapterview android,[Android]ListView+AdapterView
- MFC图片类CImage数据转换:yuv422转CImage、rgb转CImage、CImage拷贝到CImage、rgb数据垂直镜像
- 74HC138 芯片(38译码器)和74HC245 芯片(处理段码)
- 计算机视觉算法 面试必备知识点(2022)
- 都2022了,我为什么还要写博客?
- 坐标系对应EPSG代号、经度范围、中央经线
- mathcad prime server system(PASS云计算书系统)开发