1
我正在编写一个用户输入来编写音乐的Pygame程序。它等待一个特定的事件(即键盘或鼠标输入),并立即分析输入,而无需用户按下输入每个条目。我如何让我的程序等待输入,而不处于循环中
while (running == 1):
for event in pygame.event.get():
# If event is a keypress
if(event.type == pygame.KEYDOWN):
key = pygame.key.get_pressed() # get_pressed returns an boolean array
# of every key showing pressed or not
# Find which key is pressed
for x in range(len(key)):
if(key[x] == 1):
break
# If a number key is pressed (0-9)
if(x >= 48 and x <=57):
# Set the octave to keypress
gui.setOctave(x-48) # gui is an instance of a class
# that controlls pygame display
我知道这样做的唯一方法是使用无限while循环。但是,这几乎占用了所有的CPU功率。有没有另外一种有效的方法去解决这个问题而不使用循环?
工作得很好。谢谢。 – Jonathan 2013-03-10 20:28:18
如果有效,请不要忘记接受答案。 – octopusgrabbus 2013-03-10 20:38:18
对不起,我是新手。谢谢你告诉我。 – Jonathan 2013-03-10 21:24:23