文章目录

  • 前言
  • BitmapFont 位图字体
    • BitmapFont默认位图文件
    • BitmapFont de 使用
  • 工具 hiero
  • 尝试

前言

上节我们成功使用com.badlogic.gdx.graphics.g2d.Sprite类构建了一个小火箭螺旋升天的小游戏(doge)。但是,到目前为止,我们都没有在 GUI 界面上显示过文本,那么,文本怎么显示?为每一个文本都单独创建一张图片?太麻烦了!libGDX 提供了com.badlogic.gdx.graphics.g2d.BitmapFont类创建位图字体。

BitmapFont 位图字体

BitmapFont 类通过读取位图字体文件 .fnt 创建位图字体:

//传入 .fnt 文件
BitmapFont font=new BitmapFont(com.badloc.gdx.Gdx.files.internal("font_path"));

BitmapFont默认位图文件

事实上,BitmapFont 存在一个空的构造函数,它使用的是 libGDX 默认的位图文件,它只包含英文,数字,常见的标点符号(半角) ,它存储在gdx.jar/com/badlogic/gdx/utils/arial-15.fntarial-15.png

BitmapFont de 使用

BitmapFont 提供了一些方法修改显示的位图字体:

//设置颜色
font.setColor(color);
font.setColor(r,g,b,a);
//设置 font 大小倍数
//libGDX 版本<1.5.6
font.setScale(scale);
font.setScale(scaleX,scaleY);
//libGDX 版本>1.5.6
font.getData().setScale(scale);
font.getData().setScale(scaleX,scaleY);
// font 需要释放!!!
font.dispose();

##绘制 BitmapFont

font.draw(spriteBatch,"text",x,y);

工具 hiero

由于默认的位图字体文件没有中文,我们需要自己创建,而工具hiero是个不错的选择。下载 hiero or 下载目录

hiero 界面:

其中font表示字体样式:

  • system : 选择系统自带的字体
  • file : 选择 .ttf 文件作为字体,其字体中必须有输入的字,否则会被忽略
  • size : 选择字体大小

sample test框输入要录入的字
effects框修改文字的属性
padding框修改每个文字的间隔
ASCLLNEHE重置sample test
rendering修改文件大小:

  • view : 显示第几个包
  • package width&height一个包的大小

从网上找到的汉字常用一千字(按常用度降序排序):

的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全
表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较长将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海地口东导器压志世金增争济阶油思术极交受联什认六共权收证改清已美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严首底液官德调随病苏失尔死讲配女黄推显谈罪神艺呢席含企望密批营项防举球英氧势告李台落木帮轮破亚师围注远字材排供河态封另施减树溶怎止案言士均武固叶鱼波视仅费紧爱左章早朝害续轻服试食充兵源判护司足某练差致板田降黑犯负击范继兴似余坚曲输修的故城夫够送笔船占右财吃富春职觉汉画功巴跟虽杂飞检吸助升阳互初创抗考投坏策古径换未跑留钢曾端责站简述钱副尽帝射草冲承独令限阿宣环双请超微让控州良轴找否纪益依优顶础载倒房突坐粉敌略客袁冷胜绝析块剂测丝协重诉念陈仍罗盐友洋错苦夜刑移频逐靠混母短皮终聚汽村云哪既距卫停烈央察烧行迅境若印洲刻括激孔搞甚室待核校散侵吧甲游久菜味旧模湖货损预阻毫普稳乙妈植息扩银语挥酒守拿序纸医缺雨吗针刘啊急唱误训愿审附获茶鲜粮斤孩脱硫肥善龙演父渐血欢械掌歌沙著刚攻谓盾讨晚粒乱燃矛乎杀药宁鲁贵钟煤读班伯香介迫句丰培握兰担弦蛋束耐剧玉赵跳哥季课凯胡额款绍卷齐伟蒸殖永宗苗川炉岩弱零杨奏沿露杆探滑镇饭浓航怀赶库夺伊灵税了途灭赛归召鼓播盘裁险康唯录菌纯借糖盖横符私努堂域枪润幅哈竟熟虫泽脑壤碳欧遍侧寨敢彻虑斜薄庭都纳弹饲伸折麦湿暗荷瓦塞床筑恶户访塔奇透梁刀旋迹卡氯遇份毒泥退洗摆灰彩卖耗夏择忙铜献硬

予繁圈雪函亦抽篇阵阴丁尺追堆雄迎泛爸楼避谋吨野猪旗累偏典馆索秦脂潮爷豆忽托惊塑遗愈朱替纤粗倾尚痛楚谢奋购磨君池旁碎骨监捕弟暴割贯殊释词亡壁顿宝午尘闻揭炮残冬桥妇警综招吴付浮遭徐您摇谷赞箱隔订男吹乐园纷唐败宋玻巨耕坦荣闭湾键凡驻锅救恩剥凝碱齿截炼麻纺禁废盛版缓净睛昌婚涉筒嘴插岸朗庄街藏姑贸腐奴啦惯乘伙恢匀纱扎辩耳彪臣亿璃抵脉秀萨俄网舞店喷纵寸汗挂洪着贺闪柬爆烯津稻墙软勇像滚厘蒙芳肯坡柱荡腿仪旅尾轧冰贡登黎削钻勒逃障氨郭峰币港伏轨亩毕擦莫刺浪秘援株健售股岛甘泡睡童铸汤阀休汇舍牧绕炸哲磷绩朋淡尖启陷柴呈徒颜泪稍忘泵蓝拖洞授镜辛壮锋贫虚弯摩泰幼廷尊窗纲弄隶疑氏宫姐震瑞怪尤琴循描膜违夹腰缘珠穷森枝竹沟催绳忆邦剩幸浆栏拥牙贮礼滤钠纹弹罢拍咱喊袖埃勤罚焦潜伍墨欲缝姓刊饱仿奖铝鬼丽跨默挖链扫喝袋炭污幕诸弧励梅奶洁灾舟鉴苯讼抱毁率懂寒智埔寄届跃渡挑丹艰贝碰拔爹戴码梦芽熔赤渔哭敬颗奔藏铅熟仲虎稀妹乏珍申桌遵允隆螺仓魏锐晓氮兼隐碍赫拨忠肃缸牵抢博巧壳兄杜讯诚碧祥柯页巡矩悲灌龄伦票寻桂铺圣恐恰郑趣抬荒腾贴柔滴猛阔辆妻填撤储签闹扰紫砂递戏吊陶伐喂疗瓶婆抚臂摸忍虾蜡邻胸巩挤偶弃槽劲乳邓吉仁烂砖租乌舰伴瓜浅丙暂燥橡柳迷暖牌纤秧胆详簧踏瓷谱呆宾糊洛辉愤竞隙怒粘乃绪肩籍敏涂熙皆侦悬掘享纠醒狂锁淀恨牲霸爬赏逆玩陵祝秒浙貌役彼悉鸭着趋凤晨畜辈秩卵署梯炎滩棋驱筛峡冒啥寿译浸泉帽迟硅疆贷漏稿冠嫩胁芯牢叛蚀奥鸣岭羊凭串塘绘酵融盆锡庙筹冻辅摄袭筋拒僚旱钾鸟漆沈眉疏添棒穗硝韩逼扭侨凉挺碗栽炒杯患馏劝豪辽勃鸿旦吏拜狗埋辊掩饮搬骂辞勾扣估蒋绒雾丈朵姆拟宇辑陕雕偿蓄崇剪倡厅咬驶薯刷斥番赋奉佛浇漫曼扇钙桃扶仔返俗亏腔鞋棱覆框悄叔撞骗勘旺沸孤粘吐孟渠屈疾妙惜仰狠胀谐抛霉桑岗嘛衰盗渗脏赖涌甜曹阅肌哩厉烃纬毅昨伪症煮叹钉搭茎笼酷偷弓锥恒杰坑鼻翼纶叙狱逮罐络棚抑膨蔬寺骤穆冶枯册尸凸绅坯牺焰轰欣晋瘦御锭锦丧旬锻垄搜佛扑邀亭酯迈舒脆酶闲忧酚顽羽涨卸仗陪薄辟惩杭姚肚捉飘漂昆欺吾郎烷汁呵饰萧雅邮迁燕撒姻赴宴烦削债帐斑铃旨醇董饼雏姿拌傅腹妥揉贤拆歪葡胺丢浩徽昂垫挡览贪慰缴汪慌冯诺姜谊凶劣诬耀昏躺盈骑乔溪丛卢抹易闷咨刮驾缆悟摘铒掷颇幻柄惠惨佳仇腊窝涤剑瞧堡泼葱罩霍捞胎苍滨俩捅湘砍霞邵萄疯淮遂熊粪烘宿档戈驳嫂裕徙箭捐肠撑晒辨殿莲摊搅酱屏疫哀蔡堵沫皱畅叠阁莱敲辖钩痕坝巷饿祸丘玄溜曰逻彭尝卿妨艇吞韦怨矮歇郊禄捻漠粹颠宏冤肪饥呵仙押挨醛娃拾没佩勿吓

讹侯恋夕锌篡戚淋蓬岂釉兆泊魂拘亡杠摧氟颂浑凌铀诱犁谴颁舶扯嘉萌犹滋焊舌匹媳肺掠酿烹疲驰鸦窄辱狭朴遣菲奸韧辣拳秆卧醉竭茅墓矣哎艳敦舆缔雇尿葬履契禽渣衬躲赔咸溉贼醋堤抖妃裤廉晴挽掀茫丑亥拦悠阐慧佐奇竖孝柜麟绣遥逝愁肖昭芬逢窑捷圜盲闸宙辐披账狼幽绸蜂慎餐酬誓惟叉弥址帜芝砌唉仆涛臭翠盒劫慨炳阖寂椒倘拓畏喉巾颈垦拚兽蔽芦乾爽窃谭挣崩模褐传翅儒伞晃谬胚剖凑眠浊霜礁蔑抄闯洒碑蓉耶猜蹲壶唤澳锯郡玲绵纽梳掏吁锤鼠穴椅殷遮吵萍厌畜俱夸吕囊捧雌闽饶瞬郁哨凿朝俺浒茂肝勋盯籽耻菊滥稼戒奈帅鞭蚕镁询跌烤坛宅笛鄂蛮颤棍睁鼎岌降侍藩嚷匪岳糟缠迪泄卑氛堪萝盛碘缚悦澄甫攀屠溢拱晰携朽吟菱谦凹俊芒盼婶艘酰趁唇挫羞浴疼萎肴愚肿刨绞枢嫁慕舱铲苹豫谕迭潘顷翁榜匠欠茬畴胃沾踪弊哼鹏歧桐沃悼惑溃蔗荐潭孢露诊庸聪嫌厨庞祁钳肆梭赠崖篮颖甸藻捣且撕诏贞赐慈炕胖兹差琼锈汛卓棵馈挠灶婴蒂肤衫沥仑勉沪逸蜜浦嗓晕膏祭赢艾扮鹅怜蒲兔孕呖蘖挪淑谣惧廊缅俘骄膀陡宰诞峻恼腺猎涡夷愉魔铵葛贾似荫哟脊钞苛锰椭镶杏溴倚滞会氓捏斩傲匆僵卤烫衍榨拢裸屑咽坊舅渴翔邪拄窖猫砌钦媒脾勺柏栅噪昼耿扁辰秤得贩糕梁昙衷宦扔哇诈嘱藤卜冈悔廓皂拐氰杉玛矢寓瓣罕垮笋淘衔称恭喇帕桉秉帘铭蛇摔斋叭帆裸俭瘤篷砸肢辟脖瞪暑卜竿歼笙酮蕴哗瞎喀刃楔喘枚嵌挝厢粤甩拴膝恳腕娓熄锚忌愧哦荆圃骚丸蒜毯弗俯鹿梢屯衙轿贱垒谅踢哑滔渥饷泳棕熬搁腈梨吻樱奠捆姨柏聘惕郓绑冀裹酥寡彦稠啡钝汝擅汰鳙埔敞嘿逊栋谨咖鲤雀佣庵葫贿鳞拼搏谎塌忉腻戊怖坟禾刹嘻桔坎拇煽狮痒曾梗寇鹰烛哄莽雯胳龟亟糠泌坪傻什喻渊蚌跪巷涅钊譬蕊膛侮奕枕辫况扼郝寥凄厦腥钧耦蹄戥屁诵匈桩钓涵倦袍抒屿蹈忿敷虹聊嗣尉灿糙蹬嗯姬狡笨辜僧茨讽翰枉岐枣崭焚咕猴揽涝耍趟汹咋傍镀给爵虏劈璋踩瞅迄昔汞呱诡魄祺嘲惶赃癌咐歉扳鄙庐聂便芡躯贬煌拧隋襄淤宠炊滇謇懒栓佑憾骆裙猖兜孵痼盥曝泣絮韵眷旷噢参栖盏鳌溅煎校榴暮琪淆陛巢哒吼槐唧其沛乞蜀蜇赚捍铰幂尧咒耽叮褂焕煞雹搓釜铬拣募淹瑰鲢茄灼邹躬觉娇焉彰鹤琳沦畔惹庶毙皖邢禹渍绷窜翘淫箪陌膊鞑咳玫巫拂蕉澜赎绥锄囱赌颊缕寅躁稚庚苟氦魁珊蜕蛭酌逗闺蔓撇豌朕缉襟镍桅荧侄卒佃瞿娶饪耸乍靶痴靖扛筐韶嚣崔蓿岔氘娥剿霖喃搪雍裳撰豹骏慷

很简单,把它复制下来,粘贴到smale test框内(追加),在设置一下属性:

之后点击files>Save BMfont files(text)…保存.fnt和 .png 文件。

尝试

BitmapFont 的使用很简单,对吗?那么,现在我们将制作一个显示 helloWorld 的程序(似乎来得太晚了 doge)

首先,下载**.fnt文件点此,提取码:wood,或者自己制作一个,命名为font.fnt**,要含中文。并移动到assets文件夹下

package com.libGDX.test;import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;public class Test extends ApplicationAdapter {private SpriteBatch batch;private BitmapFont font;@Overridepublic void create() {batch=new SpriteBatch();//读取 .fnt 文件font=new BitmapFont(Gdx.files.internal("font.fnt"));//设置黑色font.setColor(Color.BLACK);//设置三倍大小font.getData().setScale(3);}@Overridepublic void render() {Gdx.gl.glClearColor(1, 1, 1, 1);Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);batch.begin();//\n是换行font.draw(batch, "hello world!\n你好世界!",100,400);batch.end();}@Overridepublic void dispose() {font.dispose();batch.dispose();}
}

运行结果:

没错,使用 hiero 的缺点在于字体不清晰,可以把包大小调大点,size大点,然鹅,如果不嫌字少的话,只用前五百字也行,更清晰一点:D
(此文写了两天,无语了)

libGDX-5:文本显示 BitmapFont 和 工具 hiero相关推荐

  1. Google开源word2vec,文本相似度计算工具

    Google开源word2vec,文本相似度计算工具 谷歌已经使用Deep Learning技术开发了许多新方法来解析语言,目前,谷歌开源了一款基于Deep Learning的学习工具--word2v ...

  2. 图像文本检测的标注工具_如何检测图像中的文本

    图像文本检测的标注工具 Images are a great way to communicate without text but oftentimes images are used/abused ...

  3. (翻译)2022 年免费的 4 个最佳文本到语音在线工具

    出色的文本到语音在线工具可以节省您的时间和挫败感. 在当今快节奏的世界中,通读所有会议记录.文档.电子邮件.课程计划等可能具有挑战性. 将文本转换为语音的工具使这变得容易. 例如,文本到语音在线工具可 ...

  4. html标签替换工具,文本查找与替换工具Replace Studio Pro v9.6优化版

    软件介绍 Replace Studio Pro 是一个功能超强的文本查找与替换工具.该工具不仅可以帮助用户搜索和替换计算机中的所有文件,而且还具有在Windows中找到和替换的功能. Replace ...

  5. R语言text函数在R原生可视化结果中添加文本标签、内容:指定文本显示的位置、颜色、字体大小等(Position、Change Color 、 Size of Text)

    R语言text函数在R原生可视化结果中添加文本标签.内容:指定文本显示的位置.颜色.字体大小等(Position.Change Color . Size of Text) 目录

  6. [转]使用QT开发GoogleMap瓦片显示和下载工具

    第一节 之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背 ...

  7. 成功解决matplotlib绘图的时候横坐标或纵坐标文本显示不全/显示一半/显示不完整的问题

    成功解决matplotlib绘图的时候横坐标或纵坐标文本显示不全/显示一半/显示不完整的问题 目录 解决问题 解决思路 解决方法 解决问题 成功解决matplotlib绘图的时候横坐标或纵坐标文本显示 ...

  8. 文本显示变量_无代码软件开发文本字符显示设计

    腾讯课堂搜"尚识"进行在线学习 无代码软件开发如果要显示一些文字在页面中,或者是表格中显示字符串字段值,都是拖放文本显示元件,然后将要显示的值传给显示元件中的"值&quo ...

  9. html 横屏内容显示不全_为什么我的文本显示不全?

    在实际工作中,经常会遇到文本显示不全的情况,比如表格里的文本显示不全等情况,你一般是怎么操作呢?本期与大家分享几种常见的原因. 1.Word表格文本显示不全 如下图所示,表格里面的文本显示不全,这时该 ...

  10. css截断长文本显示

    实现 截断长文本显示处理,以前是通过后台的截取,但这种方法容易丢失数据,不利于SEO. 而通过前端css的截断,则灵活多变,可统一运用与整个网站. 这项技术主要运用了text-overflow属性,这 ...

最新文章

  1. 直播协议的选择:RTMP vs. HLS
  2. [hive学习翻译]Hive - Introduction
  3. 使用 HTTP 缓存防止不必要的网络请求
  4. lucene 入门整理
  5. ios java 图片上传到服务器,iOS 图片上传服务器
  6. cocos2d-x之使用plist文件初试
  7. 郭台铭“炮轰”微软;腾讯应用宝全面封禁多闪;波音更新飞行软件 | 极客头条...
  8. 没基础的大学生如何自学c语言 ?
  9. 正则表达式的例题分析
  10. 对往届软件工程的思考——写在软件工程开课之际 by 姜健
  11. 字节跳动后端开发实习生一面凉经
  12. 互联网金融VS区块链金融
  13. 月薪4万是一种什么样的感受?
  14. [VBA]EXCEL表格,运行VBA报错:运行时错误‘9’ 下标越界
  15. 武汉疫情 - 新型冠状病毒信息整理
  16. SQL server management studio 使用
  17. CMD快捷指令之打开磁盘清理工具
  18. 【大数据入门核心技术-Tez】(二)Tez安装
  19. 【大数据】海量数据处理方法
  20. Windows和Linux下排查C++软件异常的常用调试器与内存检测工具详细介绍

热门文章

  1. ApiPost简单的接口测试教程
  2. idea 配置SVN
  3. TCP/IP四层模型和OSI七层模型的概念
  4. GitHup使用指南——安装及上传
  5. python实现的好玩的小程序--利用wxpy实现的微信可检测僵尸粉机器人
  6. 三星固态驱动安装失败_三星SSD无法安装Win10无法启动解决方案
  7. 尚学堂python培训靠谱吗_尚学堂百战程序员:Python的字符串
  8. 360大牛解读PHP面试-高并发解决方案类考察点
  9. USBCAN上位机软件的使用
  10. lrc歌词编辑器 android,Lrc歌词编辑器(LRC速配歌词)