libGDX游戏开发之字体样式(七)

libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm…国内用libgdx比较少,多数情况需要去官网和google找资料,相互学习的可以加我联系方式。

libgdx默认的字体样式只支持英文字母和数字和一些符号,若想显示在渲染中使用中文字母可以根据官网教程使用hiero制作。
hiero下载地址:https://alywp.net/5DmQ6r(2021年10月11日最新版,我从外网下载的)

依赖

// 桌面应用
api "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop"// 核心
api "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"

一、制作字体

运行起来也是比较简单:

java -jar runnable-hiero-2021-10-11.jar


导出保存

myfont.fntmyfont.png放到资源文件中,使用代码如下:

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.utils.ScreenUtils;public class MyGdxGame extends ApplicationAdapter {SpriteBatch batch;Stage stage;@Overridepublic void create() {stage = new Stage();batch = new SpriteBatch();// BitmapFont bitmapFont = new BitmapFont(Gdx.files.internal("myfont.fnt"),//        Gdx.files.internal("myfont.png"), false);BitmapFont bitmapFont = new BitmapFont(Gdx.files.internal("myfont.fnt"));Label.LabelStyle font = new Label.LabelStyle(bitmapFont, Color.WHITE);Label label = new Label("凌康123水电费了看", font);label.setPosition(20, 200);stage.addActor(label);}@Overridepublic void render() {ScreenUtils.clear(1, 0, 0, 1);stage.draw();}@Overridepublic void dispose() {batch.dispose();}
}

效果,不难发现,字体中未包含了是不会显示出来的,可以参考这篇文章获取GB2312的所有中文:https://blog.csdn.net/weixin_44480167/article/details/120605651

二、使用window自带字体

     FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.local("C:\\Windows\\Fonts\\simsun.ttc"));// 宋体FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();parameter.size = 32;parameter.characters = "凌康123水电费了看奥斯陆家发生";BitmapFont bitmapFont = generator.generateFont(parameter);Label.LabelStyle font = new Label.LabelStyle(bitmapFont, Color.WHITE);Label label = new Label("凌康123水电费了看-characters没有的内容是不会显示的", font);label.setPosition(20, 200);stage.addActor(label);// 注意内存溢出generator.dispose();

效果,不能发现,生成参数的字符串内没有的内容是不能显示的:

window自带的字体库丰富!但是也有缺点,每次都生成要注意内存溢出,适合固定字体的场景。

打赏

创作不易,觉得内容不错就赏作者一杯咖啡吧!(恰饭)

后续我会出更多libgdx文章:寻路、寻路算法、打怪,以RPG的视角。

libGDX游戏开发之字体样式(七)相关推荐

  1. libGDX游戏开发之打包游戏(十二)

    libGDX游戏开发之打包游戏(十二) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和goog ...

  2. libGDX游戏开发之修改游戏帧数FPS(十三)

    libGDX游戏开发之修改游戏帧数FPS(十三) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网 ...

  3. [libGDX游戏开发教程]使用LibGDX进行游戏开发(1)-游戏设计

    声明:本章是一个系列的开始,英文原文是<Learning libGDX Game Development>,大家请周知. [libgdx游戏开发教程]使用Libgdx进行游戏开发(2)-游 ...

  4. [libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画

    前文章节列表: 使用libGDX进行游戏开发(11)-高级编程技巧  使用libGDX进行游戏开发(10)-音乐音效不求人,程序员也可以DIY  使用libGDX进行游戏开发(9)-场景过渡 使用li ...

  5. 微信小程序开发基础 字体样式和文本样式的设置

    微信小程序页面主要有4个页面,分别是: js页面.json页面,wxml页面.wxss页面 他们的功能分别是: js:页面逻辑文件 json:页面配置文件 wxml:页面描述文件 wxss:页面样式表 ...

  6. 大家快来玩转盘抽奖游戏(走在网页游戏开发的路上(七))

    本文转自吴秦博客园博客,原文链接:http://www.cnblogs.com/skynet/archive/2011/06/15/2081106.html,如需转载请自行联系原作者 0. 前言 每逢 ...

  7. 【微信小程序开发】字体样式设置

    目录 一.前言 二.案例实现 1.编写index.wxml代码 2.编写app.wxss文件代码代码 3.编写index.wxss文件代码 三.代码编译 一.前言 本篇文章将介绍在设计微信小程序时,利 ...

  8. [libgdx游戏开发教程]使用Libgdx进行游戏开发(7)-屏幕布局的最佳实践

    管理多个屏幕 我们的菜单屏有2个按钮,一个play一个option.option里就是一些开关的设置,比如音乐音效等.这些设置将会保存到Preferences中. 多屏幕切换是游戏的基本机制,Libg ...

  9. [libgdx游戏开发教程]使用Libgdx进行游戏开发(10)-音乐音效不求人,程序员也可以DIY

    本章音效文件都来自于公共许可:  http://files.cnblogs.com/mignet/sounds.zip 在游戏中,播放背景音乐和音效是基本的功能. Libgdx提供了跨平台的声音播放功 ...

最新文章

  1. Vim的简单实用(存活篇)
  2. 医疗AI技术火热,但其商业模式的落脚点究竟在哪
  3. 简述人工智能的发展历程图_简述墙体彩绘机发展历程
  4. 列举在Web前端开发中经常会设置的特殊样式!
  5. vue打包后图片路径错误
  6. Teams App设备的地理位置能力
  7. tomcat(14)服务器组件和服务组件
  8. [转]给控件做数字签名
  9. CCF NOI1029 信息加密
  10. ae预览不了多次_AE不能预览全部视频的原因分析及解决方案
  11. [原]CentOS 6.5 上安装 MySQL 5.6
  12. 毕业季-Java分布式开发面试题
  13. 2019五一建模A题思路
  14. 数学建模笔记(十):博弈模型
  15. php+实现群发微信模板消息_php实现微信模板消息推送
  16. Let's encrypt 通配域名(二级, 三级)
  17. 用php做一个相册的程序,搭建自己的相册 50个免费的相册程序(上)
  18. 数据结构 -- 魔王语言解释
  19. jmeter持续时间设置
  20. Thoth多因子策略

热门文章

  1. 【论文】TagSLAM: Robust SLAM with Fiducial Markers
  2. XML简要教程(适合初学者)
  3. Presto 文档学习之 窗口函数(Window Functions)排名函数(Ranking Functions)
  4. 精心总结了10个matplotlib绘图技巧,短小精悍,威力无穷
  5. 运营和推广资讯类网站
  6. 小浩算法网站上线啦!
  7. 云栖大会 峰会 王德根_2018云栖大会上海峰会
  8. react onClick回调
  9. SuperMap imobilelite for Android中通过iserver加载一幅地图
  10. 使用jpeg库将jpeg图像解码为yuv