我正在制作一个程序,当你按下键盘上的键(或仅仅是输入)时,它会播放声音。
我刚开始着手处理它,我尝试使用 pygame.key.get_pressed()
来检查键盘输入。以下是我的代码:
from pygame import init, key
init()
spam = []
while True:
spam = key.get_pressed()
if True in spam:
print('KEY PRESSED')
elif False in spam:
print('NONE')
它的工作方式是检查是否在spam(pygame返回的列表的名称)中有一个True值。key.get_pressed返回一个列表,其中包含每个键的True/False值,如果按下,则为True,否则为False。
这段代码存在问题,当我运行它时,它只输出None。这意味着我没有检测到键盘输入。
如果有人知道如何修复此问题或更好的方法,请告诉我,非常感谢!
谢谢!
any([k for k in allKeys if k == True])
- Jack H.[ ]
生成一个列表。列表的元素都是k
,其中k
是for k in allKeys
,如果条件k == True
被满足。因此,它是一个包含所有值为True
的allKeys
元素的列表。any()
如果列表包含任何元素,则返回True
。 - Rabbid76pygame.key.get_pressed()
返回的值只有在通过pygame.event.get()
从队列中获取键事件时才会更新。简单来说,如果没有事件循环,pygame.key.get_pressed()
就无法工作。 - Rabbid76