在 pygame 中移动

问题描述

有这样一段代码

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
    self.image = cycle_left
    self.rect.x -= self.speed
elif keys[pygame.K_RIGHT]:
    self.image = cycle_right
    self.rect.x += self.speed
elif keys[pygame.K_UP]:
    self.image = cycle_up
    self.rect.y -= self.speed
elif keys[pygame.K_DOWN]:
    self.image = cycle_down
    self.rect.y += self.speed
else:
    self.image = cycle_up
    self.rect.y -= self.speed

如果您按住向左箭头(或任何其他箭头),摩托车将向左行驶,直到我松开钥匙。我需要做到这一点,按一次键就足够了,摩托车向左行驶,直到按下另一个键。 P.S .: 第二个问题,即使你按住键向左走,图片在cycle_up和cycle_left之间跳动

解决方法

你可以使用这种结构:

DIRECTION = ""
if keys[pygame.K_LEFT]:
    DIRECTION = "LEFT"
#...
if DIRECTION == "LEFT":
    #do something