我目前正在用pygame制作一个游戏,但当我改变方向时,我会停止并再次按下箭头键。这看起来不是什么大问题,但很容易让人讨厌
这是代码(它写在游戏的循环中,所以这不是问题):
if event.type == pygame.KEYDOWN:
if event.key == K_LEFT:
coordsX = coordsX - 0.1
elif event.key == K_RIGHT:
coordsX = coordsX + 0.1
elif event.key == K_UP:
coordsY = coordsY - 0.1
elif event.key == K_DOWN:
coordsY = coordsY + 0.1
elif event.key == K_LEFT and event.key == K_UP:
coordsX = coordsX - 0.1
coordsY = coordsY - 0.1
elif event.key == K_LEFT and event.key == K_DOWN:
coordsX = coordsX - 0.1
coordsY = coordsY + 0.1
elif event.key == K_RIGHT and event.key == K_UP:
coordsX = coordsX + 0.1
coordsY = coordsY - 0.1
elif event.key == K_RIGHT and event.key == K_DOWN:
coordsX = coordsX + 0.1
coordsY = coordsY + 0.1
我在上述评论中所指的一个例子:
对于这种情况,您可能不关心按键的时间或顺序,但您确实想知道按下了哪些键。因此,您可能想看看pygame.key.get_pressed
主循环看起来更像这样
此外,在此处跳过使用elif,条件将自行解决
相关问题 更多 >
编程相关推荐