python如何在pygame中设置字体并显示中文详解

 更新时间:2023年01月24日 08:33:14   作者:huadong_xiaolin  
再简单的游戏界面中均涉及文字处理,下面这篇文章主要给大家介绍了关于python如何在pygame中设置字体并显示中文的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

一、查看可用字体

import pygame
print(pygame.font.get_fonts())

二、设置字体

1.使用系统字体

self.font=pygame.font.SysFont(None,48)#None系统默认字体
self.font = pygame.font.SysFont("arial", 16)

2.使用字体文件

字体文件可以外下载

self.font = pygame.font.Font("my_font.ttf", 16) #字体,字号

3.设置中文()见前2

#系统自带
self.font = pygame.font.SysFont("SimHei", 32)  # 显示中文

在网上下载一个中文字体文件,将这个文件与我们的程序放在同一个文件夹,如果是中文的文件名,将它改成英文文件名。例如,下载了迷你简毡笔黑.TTF,将文件名改成了mnjzbh.ttf,并将程序的第一句改成:

self.font=pygame.font.Font('mnjzbh.ttf',32) # 显示中文

三、附录:常见系统字体对照表

一般的中文字体名,使用拼音即可,如 仿宋fangsong, 楷体kaiti

新细明体:PMingLiU
细明体:MingLiU
标楷体:DFKai-SB
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微软正黑体:Microsoft JhengHei
微软雅黑体:Microsoft YaHei

一个应用小例子

import pygame.font

class BUtton:
    def __init__(self, ai_game, msg):
        """初始化按钮属性"""
        # msg是要在按钮上显示的文本
        self.screen = ai_game.screen
        self.screen_rect = ai_game.screen.get_rect()

        # 设置按钮的尺寸和其他属性
        self.width, self.height = 200, 50
        self.buttom_color=(0,255,0)
        self.text_color=(255,255,255)
        self.font=pygame.font.SysFont(None,48)

        #创建按钮的rect对象,并使其居中
        self.rect=pygame.Rect(0,0,self.width,self.height)
        self.rect.center=self.screen_rect.center

        #按钮的标签只创建一次
        self._pre_msg(msg)

    def _pre_msg(self,msg):
        """将msg渲染为图像,并使其在按钮上居中"""
        self.msg_image=self.font.render(msg,True,self.text_color
                                        ,self.buttom_color)
        #布尔实参指定开启还是关闭反锯齿功能,反锯齿让文本的边缘更平滑
        self.msg_image_rect=self.msg_image.get_rect()
        #让图像文本在按钮上居中
        self.msg_image_rect.center=self.rect.center

    def draw_button(self):
        """绘制一个用颜色填充的按钮,再绘制文本"""
        self.screen.fill(self.buttom_color,self.rect)
        self.screen.blit(self.msg_image,self.msg_image_rect)

附:在 Pygame 屏幕中添加文字

font = pygame.font.SysFont("freesansbold.ttf", 30)	# 30:font size
text = font.render("content", True, (0,0,0))	# (0,0,0) color of font
self.window.blit(text,(10,10))	# (10,10) rect left top

总结

到此这篇关于python如何在pygame中设置字体并显示中文的文章就介绍到这了,更多相关pygame设置字体并显示中文内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python进程间通信的项目实践

    python进程间通信的项目实践

    本文主要介绍了python进程间通信的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python批量删除只保留最近几天table的代码实例

    Python批量删除只保留最近几天table的代码实例

    今天小编就为大家分享一篇关于Python批量删除只保留最近几天table的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Pandas使用SQLite3实战

    Pandas使用SQLite3实战

    本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • python实现多张图片拼接成大图

    python实现多张图片拼接成大图

    这篇文章主要为大家详细介绍了python实现多张图片拼接成大图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • python 自动去除空行的实例

    python 自动去除空行的实例

    今天小编就为大家分享一篇python 自动去除空行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Pandas Shift函数的基础入门学习笔记

    Pandas Shift函数的基础入门学习笔记

    shift函数是对数据进行移动的操作,下面这篇文章主要给大家介绍了关于Pandas Shift函数的基础入门学习笔记,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-11-11
  • Python设计模式中的备忘录模式

    Python设计模式中的备忘录模式

    这篇文章主要为大家详细介绍了Python设计模式中的备忘录模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • python嵌套try...except如何使用详解

    python嵌套try...except如何使用详解

    有时候我们写程序的时候,会出现一些错误或异常,导致程序终止,使用try…except,这样程序就不会因为异常而中断,下面这篇文章主要给大家介绍了关于python嵌套try...except如何使用的相关资料,需要的朋友可以参考下
    2022-08-08
  • 使用Python读取和修改Excel文件(基于xlrd、xlwt和openpyxl模块)

    使用Python读取和修改Excel文件(基于xlrd、xlwt和openpyxl模块)

    本文介绍一下使用Python对Excel文件的基本操作,包括使用xlrd模块读取excel文件,使用xlwt模块将数据写入excel文件,使用openpyxl模块读取写入和修改excel文件,需要的朋友可以参考下
    2021-11-11
  • Python深度学习之FastText实现文本分类详解

    Python深度学习之FastText实现文本分类详解

    FastText是一种典型的深度学习词向量的表示方法,它非常简单通过Embedding层将单词映射到稠密空间,然后将句子中所有的单词在Embedding空间中进行平均,进而完成分类操作
    2022-09-09

最新评论