pygame学习笔记之设置字体及显示中文

 更新时间:2022年07月05日 10:02:07   作者:IT技术学习  
游戏界面中文字也是非常常见的元素之一,pygame专门提供了Font模块来支持文字的显示,下面这篇文章主要给大家介绍了关于pygame学习笔记之设置字体及显示中文的相关资料,需要的朋友可以参考下

一、获得可用字体

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

结果: 

['arial', 'arialblack', 'bahnschrift', 'calibri', 'cambriacambriamath', 'cambria', 'candara', 'comicsansms', 'consolas', 'constantia', 'corbel', 'couriernew', 'ebrima', 'franklingothicmedium', 'gabriola', 'gadugi', 'georgia', 'impact', 'inkfree', 'javanesetext', 'leelawadeeui', 'leelawadeeuisemilight', 'lucidaconsole', 'lucidasans', 'malgungothic', 'malgungothicsemilight', 'microsofthimalaya', 'microsoftjhengheimicrosoftjhengheiui', 'microsoftjhengheimicrosoftjhengheiuibold', 'microsoftjhengheimicrosoftjhengheiuilight', 'microsoftnewtailue', 'microsoftphagspa', 'microsoftsansserif', 'microsofttaile', 'microsoftyaheimicrosoftyaheiui', 'microsoftyaheimicrosoftyaheiuibold', 'microsoftyaheimicrosoftyaheiuilight', 'microsoftyibaiti', 'mingliuextbpmingliuextbmingliuhkscsextb', 'mongolianbaiti', 'msgothicmsuigothicmspgothic', 'mvboli', 'myanmartext', 'nirmalaui', 'nirmalauisemilight', 'palatinolinotype', 'segoemdl2assets', 'segoeprint', 'segoescript', 'segoeui', 'segoeuiblack', 'segoeuiemoji', 'segoeuihistoric', 'segoeuisemibold', 'segoeuisemilight', 'segoeuisymbol', 'simsunnsimsun', 'simsunextb', 'sitkasmallsitkatextsitkasubheadingsitkaheadingsitkadisplaysitkabanner', 'sitkasmallsitkatextboldsitkasubheadingboldsitkaheadingboldsitkadisplayboldsitkabannerbold', 'sitkasmallsitkatextbolditalicsitkasubheadingbolditalicsitkaheadingbolditalicsitkadisplaybolditalicsitkabannerbolditalic', 'sitkasmallsitkatextitalicsitkasubheadingitalicsitkaheadingitalicsitkadisplayitalicsitkabanneritalic', 'sylfaen', 'symbol', 'tahoma', 'timesnewroman', 'trebuchetms', 'verdana', 'webdings', 'wingdings', 'yugothicyugothicuisemiboldyugothicuibold', 'yugothicyugothicuilight', 'yugothicmediumyugothicuiregular', 'yugothicregularyugothicuisemilight', 'dengxian', 'fangsong', 'kaiti', 'simhei', 'holomdl2assets', 'extra', 'opensansregular', 'opensanssemibold', '']
 

二、字体的中英文对照

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

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

三、设置字体

import pygame,sys
 
pygame.init()#pygame库的初始化
 
root_sf = pygame.display.set_mode((480,600))#创建窗口,设置大小
 
#显示文字
print(pygame.font.get_fonts())
font_name = pygame.font.match_font('fangsong')  # 2.获得字体文件
font = pygame.font.Font(font_name, 20)  # 1.获取font对象(需要字体文件)
# 绘制内容:text为内容,True为是否抗锯齿, WHITE是字体颜色
font_surface = font.render('你好', True, 'white')  # 3.将文字生成 surface对象
root_sf.blit(font_surface, (100, 100))#4.将文字surface对象 放到背景surface上
 
while True:#阻止窗口关闭
    #事件判断
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
 
    #刷新屏幕
    pygame.display.flip()

四、拓展

1.上方方法是匹配系统的字体

2.匹配字体文件的字体

import pygame,sys
 
pygame.init()#pygame库的初始化
 
root_sf = pygame.display.set_mode((480,600))#创建窗口,设置大小
 
#显示文字
print(pygame.font.get_fonts())
# font_name = pygame.font.match_font('fangsong')  # 2.获得字体文件
# font = pygame.font.Font(font_name, 20)  # 1.获取font对象(需要字体文件)
font = pygame.font.Font("simhei.ttf", 20)  # 1.获取font对象(需要字体文件)
 
# 绘制内容:text为内容,True为是否抗锯齿, WHITE是字体颜色
font_surface = font.render('你好', True, 'white')  # 3.将文字生成 surface对象
root_sf.blit(font_surface, (100, 100))#4.将文字surface对象 放到背景surface上
 
while True:#阻止窗口关闭
    #事件判断
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
 
    #刷新屏幕
    pygame.display.flip()

总结

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

相关文章

  • 写了个监控nginx进程的Python脚本

    写了个监控nginx进程的Python脚本

    接上一文用iptables让SSH服务对陌生人说不。还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案
    2012-05-05
  • python的re模块使用方法详解

    python的re模块使用方法详解

    这篇文章主要介绍了python的re模块使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 基于python实现双向链表

    基于python实现双向链表

    这篇文章主要为大家详细介绍了基于python实现双向链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Django数据库如何在原有表中添加新字段

    Django数据库如何在原有表中添加新字段

    这篇文章主要介绍了Django数据库如何在原有表中添加新字段问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 详解Selenium中元素定位方式

    详解Selenium中元素定位方式

    测试对象的定位和操作是我们利用 selenium 编写自动化脚本和 webdriver 的核心内容。本文我们就来学习一下常用的元素定位方法有哪些吧
    2022-06-06
  • 基于Python制作B站视频下载小工具

    基于Python制作B站视频下载小工具

    这篇文章主要为大家介绍一个小工具,可以用于B站视频的下载,只需要输入对应视频的网页地址就可以进行下载到本地了。感兴趣的可以了解一下
    2022-01-01
  • python 爬取英雄联盟皮肤图片

    python 爬取英雄联盟皮肤图片

    还记得那些年一起网吧开黑通宵的日子吗?《英雄联盟》绝对是大学时期的风靡游戏,即使毕业多年的大学同学相聚,难免不怀念一番当时一起玩《英雄联盟》的日子。今天就给大家分享一下英雄及皮肤图片的爬虫。
    2021-05-05
  • 在python中用print()输出多个格式化参数的方法

    在python中用print()输出多个格式化参数的方法

    今天小编就为大家分享一篇在python中用print()输出多个格式化参数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python tkinter库实现气泡屏保和锁屏

    python tkinter库实现气泡屏保和锁屏

    这篇文章主要为大家详细介绍了python tkinter库实现气泡屏保和锁屏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 用Python采集《雪中悍刀行》弹幕做成词云实例

    用Python采集《雪中悍刀行》弹幕做成词云实例

    大家好,本篇文章主要讲的是用Python采集《雪中悍刀行》弹幕做成词云实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论