自由转载 ^_^   同时请注明原文出处:http://www.cnblogs.com/wangvsa/archive/2013/02/04/2891467.html

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,0common lineHeight=78 base=62 scaleW=512 scaleH=512 pages=1 packed=0page id=0 file="loadingFont.png"chars count=188char 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,0common lineHeight=81 base=65 scaleW=512 scaleH=512 pages=2 packed=0page 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);

更多相关文章

  1. 我来教大家怎样在windows下载android源码
  2. Android(安卓)系统app集成Bugly收集错误
  3. Android(安卓)app安装路径 2
  4. android应用程序的混淆打包(转)
  5. Android打开不同类型文件
  6. Android(安卓)Studio打包APK文件的具体方法介绍
  7. android中SharedPreference的使用
  8. 日拱一卒(十七)
  9. Android基于HttpUrlConnection类的文件下载实例代码

随机推荐

  1. Shiro那些事儿(一): Shiro初探
  2. 利用shell脚本实现每隔60秒磁盘内存数据
  3. 不一样的享元模式(设计模式四)
  4. ElasticSearch实战系列四: ElasticSearch
  5. 论文阅读: 基于SLAM的使用GPS和鱼眼相机
  6. Flask学习之旅--分页功能:分别使用 flask-
  7. EXCEL函数篇—9大类文本函数
  8. FFmpeg编译4.1.4并移植到Android
  9. 拒绝月薪18k的数据分析工作,why?
  10. 月薪5K和月薪2W的运营之间的区别,究竟在哪