作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我不知道在 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/
我是一名优秀的程序员,十分优秀!