Pygame持有多个键

时间:2016-05-28 22:12:16

标签: python multithreading keyboard pygame

我正在与Pygame制作游戏,但我遇到了命令问题: 例如,当我按下时,左键播放器向左移动;按住左键我按下右键:然后播放器向右移动。 当我释放Right_Key时,我希望该玩家再次离开,直到我没有有效地释放左键。

这是我的移动代码:

def handle_events(events):
for event in events:
    if event.type == pygame.QUIT:
        pygame.quit()
        sys.exit(1)
    if event.type == pygame.KEYDOWN:
        if event.key == 275:
            KeyVar.dx = +2
        elif event.key == 276:
            KeyVar.dx = -2
        elif event.key == 274:
            KeyVar.dy = +2
        elif event.key == 273:
            KeyVar.dy = -2
        if event.key == 32:
            KeyVar.space = 1
    elif event.type == pygame.KEYUP:
        if event.key in (275, 276):
            KeyVar.dx = 0
        elif event.key in (274, 273):
            KeyVar.dy = 0
        if event.key == 32:
            KeyVar.space = 0

所以:

while True:
    handle_events(pygame.event.get())

[抱歉我的英语不好]

1 个答案:

答案 0 :(得分:2)

elif event.type == pygame.KEYUP:
    if event.key in (275, 276):
        KeyVar.dx = 0
     

这段代码使得如果任何一个键被释放它就会停止移动。你可能想要使用"和"声明,以防止它阻止你,即使你按住一个键