Java Swing游戏开发学习14

内容来自RyiSnow视频讲解

前言

这一节讲的是Custom Font定制字体,就是在游戏中显示文字的地方,使用特定的ttf字体文件进行文字显示,提升游戏体验。如果觉得arial字体可以接受,这一节可以跳过,或者认为它太普通,想试试其他字体,可以看一下这节。

字体使用

arial_40 = new Font("Arial", Font.PLAIN, 40);
在UI类中有这样的使用Arial字体的例子,这里Arial字体是电脑所安装的系统中拥有的字体,如果使用了不存在的字体,程序也没有报错,或许有相应处理。

Windows系统中可以在C盘Windows\fonts文件夹找到字体文件,一般是ttf扩展名。在Linux中可以在/usr/share/fonts路径找到。

这里是将一个字体文件直接复制到项目中进行使用,这样即使运行程序的电脑中不存在这种字体,也可以正常使用了。

这里从系统目录找了2种字体试了一下,效果如下图。具体可参考项目代码

try {
    InputStream is = getClass().getResourceAsStream("/font/Karumbi-Regular.ttf");
    karumbi = Font.createFont(Font.TRUETYPE_FONT, is);
    is = getClass().getResourceAsStream("/font/Ubuntu-Th.ttf");
    ubuntuTh = Font.createFont(Font.TRUETYPE_FONT, is);
} catch (IOException e) {
    e.printStackTrace();
} catch (FontFormatException e) {
    e.printStackTrace();
}

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

代码

参考第6篇文章最后,可以使用git clone或直接下载获得完整项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/474400.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux离线安装Docker-Oracle_11g

拉取oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建11g容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g查看容器是否创建成功 docker ps -a导出oracle容器,查看…

HarmonyOS入门学习

HarmonyOS入门学习 前言快速入门ArkTS组件基础组件Image组件Text组件TextInput 文本输入框Buttonslider 滑动组件 页面布局循环控制ForEach循环创建组件 List自定义组件创建自定义组件Builder 自定义函数 状态管理Prop和LinkProvide和ConsumeObjectLink和Observed ArkUI页面路由…

MCU技术的创新浪潮与产业变革

MCU技术的创新浪潮与产业变革 一、MCU技术的创新发展 MCU,即微控制器,作为现代电子设备的核心部件,一直在不断地创新与发展。随着科技的进步,MCU的性能得到了极大的提升,功能也越来越丰富。从8位到32位,再…

OpenCV4.9.0在Android 开发简介

查看:OpenCV系列文章目录(持续更新中......) 上一篇:使用 Clojure 进行 OpenCV 开发简介 下一篇:暂无 引言: OpenCV是一个跨平台计算机视觉库,广泛用于图像处理、计算机视觉和机器学习等领域…

TinyEMU源码分析之虚拟机初始化

TinyEMU源码分析之虚拟机初始化 1 初始化结构参数2 配置RAM地址空间3 初始化设备4 拷贝BIOS和Kernel5 手动写入5条指令6 体验第一条指令的执行 本文属于《 TinyEMU模拟器基础系列教程》之一,欢迎查看其它文章。 本文中使用的代码,均为伪代码&#xff0c…

Java 面向对象编程进阶七(字符串 String )

目录 字符串 String String 基础 String 类和常量池 String 类常用的方法 String 类常用方法一 String 类常用方法二 字符串相等的判断 字符串 String String 是我们开发中最常用的类,我们不仅要掌握 String 类常见的方法,对于 String 的 底层实现…

Vue.js+SpringBoot开发智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…

多进程数据库不适合作为hive的元数据库

简介 “今天发现一个比较奇怪的现象,因为博主不熟悉mysql,所以在安装hive的使用了postgresql作为hive的元数据库,在测试几个连接工具对hive进行链接,后面再测试的时候发现链接不上了,并且报错日志如下:” …

【记录39】html element-ui 加载

环境 html使用element-ui组件、用vue框架搭建 方法一: 方法二(推荐) 将相关资源下载下来,在对应的html文件中相对路径引入。注意:css加载放在js之前

导航栏还是侧栏?flutter 跨平台适配指南

介绍 引言:Flutter 的跨平台特性 Flutter 是由 Google 开发的一款跨平台应用开发框架,它具有许多优点,包括性能优异、开发效率高以及良好的用户体验等。其中,最引人注目的特性之一就是其出色的跨平台能力。通过编写一套代码&…

数学建模(熵权法 python代码 例子)

目录 介绍: 模板: 例子:择偶 极小型指标转化为极大型(正向化): 中间型指标转为极大型(正向化): 区间型指标转为极大型(正向化)&#xff1a…

电脑设备管理器在哪?这里有详细指南!

电脑设备管理器是Windows操作系统中一个重要的工具,它允许用户查看和管理计算机中的硬件设备。无论是查找设备驱动程序、识别硬件问题还是管理设备属性,设备管理器都是一个不可或缺的工具。在本文中,我们将介绍三种常见的方法,以分…

Docker容器化技术(docker-compose安装部署案例)

docker-compose编排工具 安装docker-compose [rootservice ~]# systemctl stop firewalld [rootservice ~]# setenforce 0 [rootservice ~]# systemctl start docker[rootservice ~]# wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-…

Python——pgzero游戏打包exe执行时报错

Python——pgzero游戏打包exe执行时报错 记录一次使用 pgzero 开发游戏,使用 pyinstaller 打包时报错 目录结构: 1. 第一次报错 打包指令: pyinstaller -Fw .\code.py结果打开报错 报错如下: Traceback (most recent call…

【机器学习300问】39、高斯分布模型如何实现异常检测?

一、异常检测是什么? (1)举几个例子 ① 信用卡交易异常检测 在信用卡交易数据分析中,如果某个用户的消费习惯通常是小额且本地化消费,那么突然出现一笔大额且跨国的交易就可能被标记为异常。 ② 电机温度异常检测 在电…

软考 系统架构设计师系列知识点之云原生架构设计理论与实践(1)

所属章节: 第14章. 云原生架构设计理论与实践 第1节 云原生架构产生背景 云原生(Cloud Native)是近几年云计算领域炙手可热的话题,云原生技术已成为驱动业务增长的重要引擎。同时,作为新型基础设施的重要支撑技术&…

新一代 数据安全管理平台是什么,对于各行各业的公司又有什么价值?

新一代数据安全管理平台,在数据安全建设体系中可发挥“全局风险治理、统一指挥调度”的重要作用,为用户提供跨数据类型、存储孤岛和生态系统集成数据的产品和服务,从而实现更简单、一致的数据安全。 数据安全管理平台是以数据访问行为分析为基…

Redis如何设置键的生存时间或过期时间

键的生存时间或过期时间 概述。 通过EXPIRE命令或者PEXIPIRE命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间(Time To Live,TTL),在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键: 127.0.0.1:6379>…

Oracle:ORA-01830错误-更改数据库时间格式

1,先把报错SQL语句拿出来执行,看看是不是报的这个错 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 2,然后查看默认日期格式是不是“YYYY-MM-DD HH24:MI:SS”(正确格式)。; 执行: SELECT * FRO…

美团24秋招第一套笔试试题

小美的字符串匹配度 我的代码(16/20) import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextL…