我目前正在用pygame做游戏,但是当我改变方向时,我停下来,不得不再次按下箭头键。这似乎不是一个大问题,但它会很容易变得烦人。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
的活动,请不要直接作用,但你的x和y的速度存储在变量。 – usr2564301 2014-12-05 23:20:39
我认为事件在第一次沮丧时触发一次。当密钥被释放后,将会有一个单独的密钥事件。您需要存储一些状态,以便在key_down发生时记录“向左移动”,然后当释放该键时,停止向左移动。此时,当您第一次按下按键时,您只需向左移动一次,但代码中的任何内容都不会继续移动,直到释放按键。 – 2014-12-06 00:01:05