如何停止使用Pygame对角线移动的精灵?
问题描述:
我正在做一个蛇游戏。任何时候,我按一个键在一个方向上移动,例如,右键,然后按举例(即使之前的键没有被按下),它会对角移动。我怎样才能阻止呢? X和Y标记玩家的位置如何停止使用Pygame对角线移动的精灵?
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -10
if event.key == pygame.K_RIGHT:
x_change = 10
if event.key == pygame.K_UP:
y_change = -10
if event.key == pygame.K_DOWN:
y_change = 10
x += x_change
y += y_change
答
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -10
y_change = 0
if event.key == pygame.K_RIGHT:
x_change = 10
y_change = 0
if event.key == pygame.K_UP:
y_change = -10
x_change = 0
if event.key == pygame.K_DOWN:
y_change = 10
x_change = 0
x += x_change
y += y_change
我已经加入y_change = 0
左,右重置价值。另外,python通过缩进来标记块。你应该一致地缩进你的代码。见PEP8 https://www.python.org/dev/peps/pep-0008/
非常感谢我被困在那个年龄 – lydia