Pygame 零中的角色移动

Character movement in Pygame Zero

截至目前,我的角色会在我按住按键时移动。

例如

if keyboard.left:
   actor.x -= 5

但是,我希望我的演员以一种块状的方式移动,例如我按下我的键一次,它向左移动 5 个像素,无论我是否按住它。

我该怎么做?

第一个

if keyboard.left: 
    move_direction = 'left'

以后

if move_direction == 'left':
    actor.x -= 5

并且不要重置 move_direction


最终它可能只需要保留leftright仅在您按right时停止向左移动,但在您按top或[=19时则不会=].

第一个

if keyboard.left: 
    move_horizontally = 'left'

if keyboard.right: 
    move_horizontally = 'right'

以后

if move_horizontally == 'left':
    actor.x -= 5
if move_horizontally == 'right':
    actor.x += 5