2016-05-28 15 views
0

私はPygameでゲームを作っていますが、私はコマンドに問題があります。例えば、左キープレーヤーを押したときに を押すと左に移動します。左キーを押しながら右キーを押すと、右に移動します。 私がRight_Keyをリリースしたとき、私は効果的に左キーを放さない限り、そのプレイヤーが再び左へ移動することを望みます。ここで複数のキーを保持するパイゲーム

は、移動のための私のコードです:

def handle_events(events): 
for event in events: 
    if event.type == pygame.QUIT: 
     pygame.quit() 
     sys.exit(1) 
    if event.type == pygame.KEYDOWN: 
     if event.key == 275: 
      KeyVar.dx = +2 
     elif event.key == 276: 
      KeyVar.dx = -2 
     elif event.key == 274: 
      KeyVar.dy = +2 
     elif event.key == 273: 
      KeyVar.dy = -2 
     if event.key == 32: 
      KeyVar.space = 1 
    elif event.type == pygame.KEYUP: 
     if event.key in (275, 276): 
      KeyVar.dx = 0 
     elif event.key in (274, 273): 
      KeyVar.dy = 0 
     if event.key == 32: 
      KeyVar.space = 0 

そしてそう:

答えて

2
elif event.type == pygame.KEYUP: 
    if event.key in (275, 276): 
     KeyVar.dx = 0 

while True: 
    handle_events(pygame.event.get()) 

[私の悪い英語のため申し訳ありません]このコードのビットは、それを作りますいずれかのキーが離されると、それは移動を停止する。キーを押したままにしても、「and」文を使用して停止しないようにすることができます。

+0

私は本当に感謝していますか? –

+0

のようなものかもしれません:if event.type == pygame.KEYUP: if event.key == pygame.K_LEFT and event.key == pygame.K_RIGHT: KeyVar.dx = 0 – goomba

関連する問題