Android游戏框架libgdx——BitmapFont的构造
2013-03-14 14:25
381 查看
转自:/article/5488072.html
BitmapFont用来渲染bitmap字体。
一、构造BitmapFont需要两个文件:
1.fnt文件
这个文件用来描述字体,其内容大致如下:
文件描述了字体的大小,是否粗体等。同时还指定了绘制字体需要的文件,在这是loadingFont.png。
fnt文件可以使用BMFont工具来生成。
2.绘制字体文件
这个文件可以是一个图像文件,如上面所用的就是loadingFont.png,也可以是个.ttf文件。
二、创建BitmapFont对象
获得BitmapFont的方法有多个
1.直接构造
先将上面两个文件放到Adnroid工程assets目录下的同一子目录,在这我放到assets/fonts目录下。
在代码中构造该对象:
BitmapFont还有很多个构造函数,具体可以参照其文档。
2.通过AssetManager
有时候我们会使用AssetManager统一加载所有资源,同样也可以用它来加载fnt文件。
比如,我在Loading界面加载游戏界面的菜单字体:
在这仅加载fnt文件即可,不需要加载具体绘制字体的文件,libgdx会自动寻找该文件并替我们加载。
menuFont.fnt的文件头如下:
注意,要将menuFont1.png和menuFont2.png与menuFont.fnt放在同一目录下。
最后通过AssetManger的get方法获取BitmapFont对象:
BitmapFont用来渲染bitmap字体。
一、构造BitmapFont需要两个文件:
1.fnt文件
这个文件用来描述字体,其内容大致如下:
info face="Miso" size=70 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=0,0 common lineHeight=78 base=62 scaleW=512 scaleH=512 pages=1 packed=0 page id=0 file="loadingFont.png" chars count=188 char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=62 xadvance=13 page=0 chnl=0 char id=166 x=0 y=0 width=6 height=75 xoffset=5 yoffset=2 xadvance=15 page=0 chnl=0 char id=124 x=6 y=0 width=6 height=75 xoffset=6 yoffset=2 xadvance=15 page=0 chnl=0 char id=253 x=12 y=0 width=24 height=62 xoffset=1 yoffset=15 xadvance=26 page=0 chnl=0 char id=221 x=36 y=0 width=25 height=62 xoffset=2 yoffset=1 xadvance=28 page=0 chnl=0
文件描述了字体的大小,是否粗体等。同时还指定了绘制字体需要的文件,在这是loadingFont.png。
fnt文件可以使用BMFont工具来生成。
2.绘制字体文件
这个文件可以是一个图像文件,如上面所用的就是loadingFont.png,也可以是个.ttf文件。
二、创建BitmapFont对象
获得BitmapFont的方法有多个
1.直接构造
先将上面两个文件放到Adnroid工程assets目录下的同一子目录,在这我放到assets/fonts目录下。
在代码中构造该对象:
FileHandle fontFile = Gdx.files.internal("fonts/loadingFont.fnt"); FileHandle imageFile = Gdx.files.internal("fonts/loadingFont.png"); BitmapFont fontLoading = new BitmapFont(fontFile, imageFile, false);
BitmapFont还有很多个构造函数,具体可以参照其文档。
2.通过AssetManager
有时候我们会使用AssetManager统一加载所有资源,同样也可以用它来加载fnt文件。
比如,我在Loading界面加载游戏界面的菜单字体:
assetManager.load("fonts/menuFont.fnt", BitmapFont.class);
在这仅加载fnt文件即可,不需要加载具体绘制字体的文件,libgdx会自动寻找该文件并替我们加载。
menuFont.fnt的文件头如下:
info face="Lake Wobegon NF" size=60 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=0,0 common lineHeight=81 base=65 scaleW=512 scaleH=512 pages=2 packed=0 page id=0 file="menuFont1.png" page id=1 file="menuFont2.png"
注意,要将menuFont1.png和menuFont2.png与menuFont.fnt放在同一目录下。
最后通过AssetManger的get方法获取BitmapFont对象:
BitmapFont menu = assetManager.get("fonts/menuFont.fnt", BitmapFont.class);
相关文章推荐
- Android游戏框架libgdx——BitmapFont的构造
- libgdx游戏引擎开发笔记(四)文字显示BitmapFont
- Android游戏框架Libgdx使用入门
- android游戏开发框架libgdx的使用(十)—双舞台
- Android游戏开发框架libgdx的使用
- android游戏开发框架libgdx的使用(二)--图形绘制
- android游戏开发框架libgdx的使用(二)--图形绘制
- android游戏开发框架libgdx的使用(十九)—使用自定义配置改进AVG游戏开发
- android游戏开发框架libgdx的使用(八)--相机和观察点
- android游戏开发框架libgdx的使用(十一)—Skin和UI配置文件的使用
- android游戏开发框架libgdx的使用(十六)—使用TexturePacker工具加快开发速度
- android游戏开发框架libgdx的使用-环境搭建
- android游戏开发框架libgdx的使用(完)—杂谈Libgdx
- android游戏开发框架libgdx的使用(三)--中文显示与汉字绘制
- android游戏开发框架libgdx的使用(十二)—TiledMap地图的使用
- android游戏开发框架libgdx的使用(二十)—资源预加载与AssetManager的使用
- android游戏开发框架libgdx的使用(十二)—TiledMap地图的使用
- android游戏开发框架libgdx的使用(十三)—TiledMap中的角色和角色移动
- Android游戏开发框架Libgdx的使用(一)--Libgdx基础入门
- android游戏开发框架libgdx的使用(一)--环境搭建