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 而不是当您按下 topbottom .

第一次

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