Laya位图字体制作

在开发中会依据美术的需求使用特殊的字体来实现游戏的整体风格,最近遇到H5游戏的字体更换的需求,开发所使用的引擎是Laya,这里就使用了位图进行字体制作,核心的制作流程如下:


1.下载windows免费的位图字体制作工具Bitmap Font Generator
下载地址:http://www.angelcode.com/products/bmfont/


2.打开软件,选择 Edit-> Open Image Manager,来设定需要导出的字体的常规设置。


在该页面下进行字体图片的导入和删除,注意在导入对应的图片后要给图片设置ID数值,具体的ID数值是多少可以查询考表格中的对应数字,比如当前导入的图片是0,就可以在表格中去寻找0这个数字,然后进行点击,可以在软件的右下角看到48:30这组数字,48就是0对应的ID数值。

将ID配置好以后退出Image Manager的页面,打开Options下的Export Options页面,进行最后的配置,bit depth配置为32,file format配置为xml,textures配置为png,然后点击OK完成字体的配置,将字体导出,导出为font以及png图片两部分文件。


3.Laya内部进行字体配置
字体导出后再导入Laya工程,注意保持png图片以及font字体文件的名称一致,在使用字体的时候,直接在文本字体配置处将字体的名称进行更改,注意要手动更改,引擎没有引入字体的提示功能,更改好字体名称后进行脚本层面的配置,字体的使用需要在使用前进行字体的初始化,初始化的方式只能以脚本的形式进行,以下是对字体的配置。

export default class DefineFontManager
{
    private fontName: string = "ZoomerFont"; //字体名称    
    private bitmapFont: BitmapFont;
    private bitmapUrl: string = "Font/ZoomerFont.fnt" //字体路径

    public static instance: DefineFontManager;
    public static getInstance(): DefineFontManager
    {
        if(this.instance == null)
        {
            this.instance = new DefineFontManager();
        }        
        return this.instance;
    }
    /**
     * 初始化字体信息
     */
    public initFontData(): void
    {        
        console.log("字体");
        this.bitmapFont = new BitmapFont();
        this.bitmapFont.loadFont(this.bitmapUrl, Handler.create(this,this.setFontData));        
    }

    private setFontData(): void
    {
        console.log("字体");
        //如果位图字体中,没放空格,最好设置一个空格宽度
        this.bitmapFont.setSpaceWidth(10);
        //注册位图字体
        Text.registerBitmapFont(this.fontName, this.bitmapFont);      
        //开启字体自适应大小否则编辑器调节无效果
        this.bitmapFont.autoScaleSize = true
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值