如何停止使用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/

+0

非常感谢我被困在那个年龄 – lydia