当我执行以下代码时,不会捕获KEYDOWN事件。所需的结果是在任何按键时退出循环。如何使代码达到预期效果?在
while slideshow:
clock.tick(30)
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
elif event.type == pygame.KEYDOWN: slideshow = False
scope.screen.blit(safimg, (0, 0))
for t in statsurfs:
scope.screen.blit(t, (fontline * lnum, fontcol))
lnum += 1
lnum = 5
for t in dynsurfs:
scope.screen.blit(t, (fontline * lnum, fontcol * 2 - t.get_width()))
lnum += 1
pygame.display.flip()
pygame.time.delay(wtime * 1000)
for i in imgfiles:
img = pygame.image.load(i).convert()
#img = pygame.transform.scale(img, scope.size)
scope.screen.blit(img,(0, 0))
pygame.display.flip()
pygame.time.delay(wtime * 1000)
另外,对于如何优化代码的任何提示都将非常感谢,因为我是Python编程的新手。在
问题最有可能是你阻止程序运行太快的方式(也就是时钟)。您当前正在使用
这不是你想要的。在
正确的方法是使用
^{pr2}$(在代码开头设置时钟)然后调用
循环的帧数是每秒的帧数。这将使程序每秒运行60次循环。在你的代码里
只是让程序等待,但程序实际上并没有运行任何东西;它只是在等待。如果你有其他问题,请回答这个问题。祝你好运:D
相关问题 更多 >
编程相关推荐