问题描述
我正在尝试创建一个游戏,其中随机选择键并显示在屏幕上,玩家必须点击它们。如何实现对按下所需键的检查?
unic1=random.randint(0,9)
unic2=random.randint(0,9)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == "pygame.K_"+ str(unic1):
x2+=10
unic1=random.randint(0,9)
elif event.key != "pygame.K_" + str(unic1):
x2-=10
unic1=random.randint(0,9)
解决方法
pygame.key.name(event.key)
将返回键名(a、b、c、1、2、3)等。您可以使用它来测试是否按下了正确的键:
if pygame.key.name(event.key) == str(unic1):
# the key was pressed
,
小键盘上有从 .list-header {
position: sticky;
top: 80px;
}
到 pygame.K_KP0
的鳕鱼。
创建密钥列表:
pygame.K_KP9
使用 random.choice
选择随机密钥:
key_list = [pygame.K_KP0,pygame.K_KP1,pygame.K_KP2,pygame.K_KP3,pygame.K_KP4
pygame.K_KP5,pygame.K_KP6,pygame.K_KP7,pygame.K_KP8,pygame.K_KP9]
键盘事件 random_key = random.choice(key_list)
和 KEYDOWN
(参见 pygame.event 模块)创建一个带有附加属性的 pygame.event.Event
对象。按下的键可以从 KEYUP
属性(例如 key
、K_RETURN
)获得,K_a
属性包含一个带有附加修饰符的位集(例如 {{1} })。 mod
属性提供键盘输入的 Unicode 表示。
KMOD_LSHIFT