我在Ubuntu上使用PyGame,我想制作一个while循环,当用户按下键盘上的任何按钮时结束。
此代码不会离开循环,Eclipse不会出现任何错误,也不会发出警告,但永远不会离开循环。有什么问题?
import time
import pygame
pygame.init()
test = False
while not test:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
print "gotcha"
test = True;
break;
print "Still looping"
time.sleep(1);
print "made it out of the loop" ;
理想情况下,每一秒钟仍然会循环播放"应该打印到屏幕上,直到我按任意键,然后"使它脱离循环"应该打印。
这不会发生:循环会一直持续(直到我终止脚本)。
答案 0 :(得分:1)
你需要
根据game programming wiki: 如果您没有设置pygame显示pygame屏幕,则不会输入pygame的事件处理。
import time
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption('Pygame Caption')
test = False
while not test:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
print "gotcha"
test = True
break
print "Still looping"
time.sleep(1)
print "made it out of the loop"