2016-11-20 55 views
0

我正在做一個蛇遊戲。任何時候,我按一個鍵在一個方向上移動,例如,右鍵,然後按舉例(即使之前的鍵沒有被按下),它會對角移動。我怎樣才能阻止呢? 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 

回答

2
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