Pygame教程03:文本显示+字体加载+transform方法

------------★Pygame系列教程★------------

Pygame教程01:初识pygame游戏模块

Pygame教程02:图片的加载+缩放+旋转+显示操作

Pygame教程03:文本显示+字体加载+transform方法

Pygame教程04:draw方法绘制矩形、多边形、圆、椭圆、弧线、直线和线条等

Pygame教程05:帧动画原理+边界值检测,让小球来回上下运动

1.pygame.font字体方法的选择:两种类型的字体,系统字体(通过 pygame.font.SysFont)和自定义字体(通过 pygame.font.Font,需要指定字体文件的路径)。

A.pygame.font.SysFont系统字体直接从用户的操作系统中加载。你可以通过指定字体名称和大小来创建系统字体对象。如果系统中没有指定的字体,Pygame会使用默认字体。你还可以指定字体是否加粗和是否为斜体。

font = pygame.font.SysFont("arial", 16, bold=False, italic=False)

B. pygame.font.Font自定义字体需要指定字体文件的路径。这种方法的好处是你可以使用任何你想要的字体,只要你有字体文件(通常是 .ttf 文件)。当使用自定义字体时,你需要将字体文件与你的游戏一起分发,因为用户的机器上可能没有这个字体。

font = pygame.font.Font("path/to/your/font.ttf", 16)

2.设置字体属性:当你创建了一个字体对象后,你可以使用 render 方法来渲染文本。render方法接受文本内容、是否抗锯齿、文本颜色以及背景颜色作为参数,并返回一个包含渲染后文本的Surface对象。
3.如果文本中,含有中文不能显示,乱码状态,请使用支持中文系统的字体。首先,确保你的操作系统上安装了支持中文的字体。例如,常见的中文字体有“宋体”、“黑体”等。你可以通过指定这些字体的名称来使用它们。
4.transform方法:文本的操作和图片旋转,的代码写法是相似的,自己照着套用一下即可。
在这里插入图片描述


# @Author : 小红牛
# 微信公众号:WdPython
import pygame# 初始化 Pygame
pygame.init()
# 设置屏幕大小
screen = pygame.display.set_mode((600, 400))# 1.使用pygame.font.SysFont设置字体
f1 = pygame.font.SysFont("方正粗黑宋简体", 30, bold=False, italic=False)
# 渲染文本
text_surface1 = f1.render('1.pygame我使用了,方正粗黑宋简体', True, (255, 255, 255))
screen.blit(text_surface1, (10, 10))f2 = pygame.font.SysFont("arial", 30, bold=False, italic=False)
text_surface2 = f2.render('2.我使用了arial字体', True, (255, 255, 255))
# 将渲染后的文本绘制到屏幕上
screen.blit(text_surface2, (10, 50))# 2.使用pygame.font.Font设置字体
f3 = pygame.font.Font('C:/Windows/Fonts/simhei.ttf', 30)
text_surface3 = f3.render('3.我使用了pygame.font.Font中simhei字体', True, (255, 255, 255))
# 将渲染后的文本绘制到屏幕上
screen.blit(text_surface3, (10, 100))# 3.transform方法:文本的操作和图片旋转,的代码写法是相似的
text = '我的Python教程'
f4 = pygame.font.Font('C:/Windows/Fonts/simhei.ttf', 30)
text_surface4 = f4.render(text, True, (255, 255, 255))
screen.blit(text_surface4, (0, 150))
# 倒立文本
flipped_surface = pygame.transform.flip(text_surface4 , False, True)
screen.blit(flipped_surface, (0, 180))
# 更新屏幕显示
pygame.display.flip()# 游戏主循环
while True:# 处理事件队列for event in pygame.event.get():if event.type == pygame.QUIT:  # 如果用户点击了关闭按钮exit()

完毕!!感谢您的收看

----------★★历史博文集合★★----------

Python入门篇 进阶篇 视频教程 Py安装

py项目 Python模块 Python爬虫 Json

Xpath 正则表达式 Selenium Etree Css

Gui程序开发 Tkinter Pyqt5 列表元组字典

数据可视化 matplotlib 词云图 Pyecharts

海龟画图 Pandas Bug处理 电脑小知识

office自动化办公 编程工具 NumPy Pygame

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java8,函数式编程应用:

持续更新中: 函数式(Functional)接口 什么是函数式(Functional)接口 只包含一个抽象方法的接口,称为函数式接口。 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式 抛出一个受检异常(即:非运行时异常)&#xff0c…

Crossbar阵列的电路结构及其基本原理

忆阻器Crossbar阵列是一种先进的神经网络硬件实现技术,它利用忆阻器的物理特性来模拟神经网络中的突触连接,为人工智能和机器学习应用提供了一种高效、低能耗的计算平台。本文将深入探讨忆阻器Crossbar阵列的基本原理及其在Read(读取&#xf…

运维随录实战(2)之k8s部署应用

一, 创建.gitlab-ci.yml文件 架构流程 文件内容 stages: #设置流水线模版- build # 编译- source2img- deploy # 发布variables: # 设置全局变量MAVEN_PATH: .m2MAVEM_IMAGE: maven:3.8.5-openjdk-17-slim # maven 打包使用的镜像MAVEN_CLI_OPTS: "-s $MAVEN_PATH/set…

稀碎从零算法笔记Day7-LeetCode:罗马数字转整数

题型:字符串转化、找规律 链接:13. 罗马数字转整数 - 力扣(LeetCode) 来源:LeetCode 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 …

【深圳五兴科技】Java后端面经

本文目录 写在前面试题总览1、java集合2、创建线程的方式3、对spring的理解4、Spring Boot 和传统 Spring 框架的一些区别5、springboot如何解决循环依赖6、对mybatis的理解7、缓存三兄弟8、接口响应慢的处理思路9、http的状态码 写在前面 关于这个专栏: 本专栏记录…

抖音视频下载软件|视频批量采集工具

便捷操作,高效采集 在快节奏的数字化时代,我们的视频下载软件提供了简单便捷的操作流程,让用户能够高效地采集所需视频内容。用户只需输入关键词并点击开始抓取,系统会自动搜索指定关键词下的抖音视频数据,并将待解析视…

C语言第三十五弹---文件操作(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 文件操作 1、为什么使用文件? 2、什么是文件? 2.1、程序文件 2.2、数据文件 2.3、文件名 3、二进制文件和文本文件 4、文件的打开和…

折线图 温度变化曲线图

代码详情介绍 导入必要的库: matplotlib.pyplot:用于绘图。 matplotlib.font_manager:用于设置中文字体。 datetime:用于处理日期和时间。 random:用于生成随机数。 numpy:用于生成arange函数的刻度。 设置…

Linux系统使用宝塔面板安装MySQL服务并实现公网远程访问本地数据库【内网穿透】

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cp…

【C语言】Leetcode 876. 链表的中间节点

主页:17_Kevin-CSDN博客 专栏:《Leetcode》 题目 通过题目的要求可以判断出有两种示例要解决,一种是偶数节点的链表,一种是奇数节点的链表,应对这两种情况我们需要使程序对二者都可以兼容。 解决思路 struct ListNode…

微服务相关的核心概念及技术

RPC框架: 在微服务架构中,服务与服务之间要实现接口的调用我们肯定要通过相关的RPC(Remote Procedure Call)框架来实现。 常用的RPC框架有:Dubbo,Google的GRPC,Apache的Thrift,微博的Motan,京东的EasyRPC等…

解密Lawnchair:打造个性化极致的Android桌面体验

解密Lawnchair:打造个性化极致的Android桌面体验 1. 简介 Lawnchair是一款知名的Android桌面定制工具,旨在为用户提供个性化极致的桌面体验。作为一个开源项目,Lawnchair融合了简洁、灵活和强大的特点,让用户能够自由定制其Andro…