PyGame不响应,任何提示?



当我运行这段代码时,它没有响应。任何建议吗?

import pygame
pygame.init()
pygame.font.init()
pygame.font.init()
screen = pygame.display.set_mode([500,500])
white = (255,255,255)
font = pygame.font.SysFont('Comic Sans MS', 30)
text = font.render(input('Choose a charecter:'),False,(0,0,0))

warrior = pygame.image.load("Warrior.png")
goblin = pygame.image.load("Goblin.png")
kk = pygame.image.load("Karate Kid.png")
#main loop
running = True
while running:
screen.fill(white)
screen.blit(text,(255,10))
screen.blit(warrior, (200,100))
screen.blit(goblin, (300,100))
screen.blit(kk, (400,100))

for event in pygame.event.get():
if event.type == pygame.QUIT: pygame.quit()

我已经添加了代码:

"对于pygame.event.get()中的事件:如果事件。输入== pygame。戒烟:pygame.quit()">

但是它仍然不能工作。

input命令阻塞程序执行,因此由于无法处理事件,它使窗口崩溃。简单的修复方法是在获得输入后创建窗口。您还需要使用pygame.display.update()更新窗口。

import pygame
pygame.init()
pygame.font.init()
pygame.font.init()
white = (255,255,255)
font = pygame.font.SysFont('Comic Sans MS', 30)
text = font.render(input('Choose a charecter:'),False,(0,0,0))
warrior = pygame.image.load("Warrior.png")
goblin = pygame.image.load("Goblin.png")
kk = pygame.image.load("Karate Kid.png")
screen = pygame.display.set_mode([500,500])
#main loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()

screen.fill(white)
screen.blit(text,(255,10))

screen.blit(warrior, (200,100))
screen.blit(goblin, (300,100))
screen.blit(kk, (400,100))
pygame.display.update()

最新更新