2013-12-14 83 views
0

下面是一些pygame代碼,它工作正常,除了移動精靈,我不得不反覆點擊箭頭鍵,有沒有辦法讓精靈按住箭頭鍵移動?下面是我的代碼:雪碧在pygame中滯後

while True: #main game loop 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      pygame.quit() 
      sys.exit() 
     elif event.type == KEYUP: 
      if event.key == K_RIGHT: 
       LionCubX+= 10 
      elif event.key == K_LEFT: 
       LionCubX-= 10 
      elif event.key == K_UP: 
       LionCubY-= 10 
      elif event.key == K_DOWN: 
       LionCubY+= 10 
     DISPLAYSURF.fill(GREEN) 
     DISPLAYSURF.blit(LionCubImg,(LionCubX,LionCubY)) 
    pygame.display.update() 
+0

我對pygame瞭解不多,但問題可能是您使用'KEYUP',這意味着您必須釋放密鑰才能導致移動。 – Aleph

回答

0

的問題,我可以在這裏看到的是,你檢查KEYUP類型的事件。這意味着只有在您釋放密鑰時才能執行您的代碼。因此,改變

elif event.type == KEYUP: 

elif event.type == KEYDOWN: 

另一種可能性是,你沒有設置按鍵重複:

pygame.key.set_repeat(1, 30) 

將這個遊戲主循環之前激活重複按鍵。另見the docs

0

的問題是你移動你的精靈只有當鍵被按下並釋放KEYUP。您需要將精靈移動到鑰匙狀態KEYDOWN

更改此:

elif event.type == KEYUP: 

要:

elif event.type == KEYDOWN: