• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

pygame:font模块

武飞扬头像
赟文武
帮助1

文字显示

1.思路

把文字区域转换为image surface然后使用blit()函数绘制到display surface

2.字体的获取

#查找默认字体函数
pygame.font.get_default_font()
#查找系统字体
pygame.font.get_fonts()
  • get_default_font函数返回pygame使用的默认字体的文件名称
  • get_fonts函数返回当前系统中所有可用字体的名称列表

3.相关函数

#创建font类对象函数(只适用于使用系统字体)
pygame.font.SysFont(name,size,bold=False,italic=False)

各参数解析:

  • name代表系统字体的名称,参数name为None时使用pygame默认字体
  • size表示字体大小
  • blod表示是否加粗
  • italic表示是否倾斜
#Font类构造函数
__init__(filename,size)

参数解析:

  • fillename表示字体文件名称,值为None时,使用默认字体
  • size表示字体尺寸
    注:使用自己的ttf字体文字显示文字必须使用Font构造函数创建字体对象
#文字区域转换为image surface的方法
render(text,antialias,color,background=None)

参数解析:

  • text只能是单行表示待显示的文字
  • antialias表示是否打开锯齿
  • color表示文字颜色
  • background表示背景颜色
#设置加粗
set_bold(bool)
#设置倾斜
set_italic(bool)
#设置下划线
set_underline(bool)

注:bool代表其接收的是布尔值,True或False

4.使用默认字体显示文字

#第一种方法
font=pygame.font.SysFont(None,32)
text=font.render("default font 0",True,(0,0,255))
#第二种方法
font=pygame.font.Font(None,32)
text=font.render("default font 0",True,(255,0,0))

注:绘制还需blit函数将其绘制到display surface上才能显示内容

5.使用系统字体显示文字

font=pygame.font.SysFont("arial",48)
text=font.render("system font",True,(255,0,0))

6.使用自己的ttf文件显示文字

font=pygame.font.Font("XXX.ttf",48)
text=font.render("system font",True,(255,0,0))

7.显示中文

font=pygame.font.SysFont("华文行楷",48)
text=font.render("你好,世界",True,(255,0,0))

8.具体实例

# 引入相关模块
import pygame,sys
# 函数声明与定义
def main():
    # 初始化
    pygame.init()
    # 设置窗口大小
    a=pygame.display.set_mode((800,700))
    # 填充背景色为白色
    a.fill((255,255,255))
    # 主循环
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                # 用户点击叉号结束
                pygame.quit()
                sys.exit()
        # 使用默认字体显示文字
        font=pygame.font.Font(None,32)
        text=font.render("Hello World",True,(255,0,0))
        a.blit(text,(50,50))
        # 使用系统字体显示文字
        font1=pygame.font.SysFont("arial",32)
        text1=font1.render("Hello World",True,(0,0,0))
        a.blit(text1,(50,100))
        # 显示中文
        font2=pygame.font.SysFont("华文新魏",48)
        text2=font2.render("你好,世界",True,(0,255,0))
        a.blit(text2,(50,150))
        # 刷新窗口页面
        pygame.display.flip()


if __name__=='__main__':
    # 调用函数
	main()


学新通

运行效果如下:
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfjgbef
系列文章
更多 icon
同类精品
更多 icon
继续加载