gpt4 book ai didi

python - 如何在pygame中显示文本?

转载 作者:IT老高 更新时间:2023-10-28 20:59:26 25 4
gpt4 key购买 nike

我不知道在 pygame 中显示文本。
我知道我不能像在常规 Python IDLE 中那样使用 print,但我不知道该怎么做。

import pygame, sys
from pygame.locals import *

BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = ( 255, 0, 0)

pygame.init()
size = (700, 500)
screen = pygame.display.set_mode(size)

DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('P.Earth')
while 1: # main game loop
for event in pygame.event.get():
if event.type == QUIT:
pygame.display.update()

import time

direction = ''
print('Welcome to Earth')
pygame.draw.rect(screen, RED, [55,500,10,5], 0)
time.sleep(1)

这只是整个程序的开始部分。
如果有一种格式可以让我显示我在 pygame 窗口中输入的文本,那就太好了。所以我不会使用 print 我会使用其他东西。但我不知道那是什么别的东西。当我在 pygame 中运行我的程序时,它没有显示任何内容。
我希望程序在 pygame 窗口中运行,而不是在空闲状态下运行。

最佳答案

您可以创建一个带有文本的表面。为此,请查看以下简短示例:

pygame.font.init() # you have to call this at the start, 
# if you want to use this module.
my_font = pygame.font.SysFont('Comic Sans MS', 30)

这将创建一个新对象,您可以在该对象上调用 render 方法。

text_surface = my_font.render('Some Text', False, (0, 0, 0))

这将创建一个新的表面,上面已经绘制了文本。最后,您可以将文本表面粘贴到主屏幕上。

screen.blit(text_surface, (0,0))

请记住,每次文本更改时,您都必须重新创建表面才能看到新文本。

关于python - 如何在pygame中显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com