北京理工大学-Python游戏开发入门学习笔记12

文字绘制机制

pygame.freetype 向屏幕上绘制特定字体的文字,额外import引入
import pygame.freetype
文字不能直接print(),而是使用像素根据字体点阵绘图

pygame.freetype.Font(file,size=0) 根据字体和字号生成一个Font对象
file 字体类型名称或路径(一般位置在C:\Windows\Fonts)
size 字体的大小

用Font对象的render*方法绘制具体文字
Font.render_to(surf,dest,text,fgcolor=None,bgcolor=None,rotation=0,size=0)→Rect
surf 绘制字体的平面,Surface对象
dest 在绘制平面中的具体位置,(x,y)
text 绘制的文字内容
fgcolor 文字的颜色
bgcolor 背景颜色
rotation 逆时针旋转角度,取值0-359,部分字体可旋转
size 文字大小,复制参数将覆盖Font中的设定值

Font.render(text,fgcolor=None,bgcolor=None,rotation=0,size=0)→(Surface,Rect)
text 绘制的文字内容
fgcolor 文字的颜色
bgcolor 背景颜色
rotation 逆时针旋转角度,取值0-359,部分字体可旋转
size 文字大小,复制参数将覆盖Font中的设定值

绘制文字

import pygame,sys
import pygame.freetype

pygame.init()
screen=pygame.display.set_mode((600,400))
pygame.display.set_caption("文字绘制")
gold=255,251,0

f1=pygame.freetype.Font("C://Windows//Fonts//msyh.ttc",36)
f1rect=f1.render_to(screen,(200,160),"超级赛亚人",fgcolor=gold,size=50)
f2surf,f2rect=f1.render("卡卡罗特",fgcolor=gold,size=50)

while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            sys.exit()

    screen.blit(f2surf,(200,250))
    pygame.display.update()

ps:学习链接 https://www.icourse163.org/course/BIT-1001873001

你可能感兴趣的:(北京理工大学-Python游戏开发入门学习笔记12)