1 回答
TA贡献1856条经验 获得超11个赞
首先,您需要一个pygame.font,它可以由pygame.font.SysFont()或创建pygame.font.Font。例如:
import pygame.font
font = pygame.font.SysFont('Times New Roman', 30)
使用字体对象,文本可以通过.render(). 结果是一个pygame.Surface对象。
如果需要,您可以将表面缩放到特定大小,按pygame.transform.smoothscale.
最后,可以通过 将文本绘制到表面blit。例如:
def Meteor(Meteorx, Meteory, Meteorw, Meteorh, colour):
text = font.render('test text', False, colour)
text = pygame.transform.smoothscale(text.convert(), (Meteorw, Meteorh))
Screen.blit(text, (Meteorx, Meteory))
正如下面的评论中提到的,它更容易使用pygame.freetype。例如:
import pygame.freetype
font = pygame.freetype.SysFont('Times New Roman', 30)
def Meteor(Meteorx, Meteory, Meteorw, Meteorh, colour):
font.render_to(Screen, (Meteorx, Meteory), 'test text', colour, size=Meteorw)
添加回答
举报