如何让Python不断接受事件

时间:2016-05-19 14:46:30

标签: python loops events while-loop

我正在编写一个简单的游戏,我已经将图形缩小,并且大多数交互编码。我唯一的问题是如果我尝试编码输入,我必须为每次迭代编码。这对于一个完整的游戏来说太费力了,所以有没有办法让游戏只用几行代码就可以接受输入?我已经听说过while循环但只知道如何用整数来做,而且这个网站上的其他一些代码没有意义。

1 个答案:

答案 0 :(得分:0)

我不确定你的意思是键盘输入还是文字输入。 如果您想要多个文本输入,您可以使用raw_input接受输入循环,如下所示:

while True:
  input = raw_input('Some input: ')
  if input == "exit":
    break
  print "You said: " , input

如果您只是想要键盘输入,可以在Windows上执行此操作:

import msvcrt
while True:
  if msvcrt.kbhit():
    print "Key pressed: %s" % msvcrt.getch()

以下是使用pygame的示例:

import pygame

pygame.init()
pygame.display.set_mode((640,480)) # open 640x480 window

running = True
while running: # repeat forever
    for event in pygame.event.get(): # get event from the event queue
        if event.type == pygame.QUIT:
            running = False         
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a:
                print "You pressed the key: 'a'"
            if event.key == pygame.K_b:
                print "Do something else"
pygame.quit();    
相关问题