suchen

Heim  >  Fragen und Antworten  >  Hauptteil

pygame – Führen Sie in Python ein zweites Mal verschiedene Vorgänge als Reaktion auf dasselbe Ereignis aus

In einer Schleife reagiert die Tastatur auf das Drücken einer Taste, führt dann zwei Vorgänge aus und reagiert dann erneut auf das Drücken derselben Taste auf der Tastatur, führt jedoch nur den zweiten Vorgang aus.

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_ESCAPE:
            sys.exit()
        elif event.key == pygame.K_RIGHT:
            tank.update1()
            tank.moving_right = True

Zum Beispiel wird in der elif-Anweisung ab dem zweiten Mal nur tank.moving_right = True ausgeführt und tank.update1() wird nicht mehr ausgeführt
Was ist zu tun

阿神阿神2787 Tage vor657

Antworte allen(2)Ich werde antworten

  • 漂亮男人

    漂亮男人2017-05-18 11:00:36

    tank里面加开关标志

    elif event.key == pygame.K_RIGHT:
                tank.update1()
                tank.moving_right = True
            tank.update1()
            tank.moving_right = True
            这里封装一下,然后在tank里加成员变量

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-18 11:00:36

    添加个标志变量

    flag = True
    for event in ....:
        ...
        if flag:
            tank.update1()
            flag = False
        tank.moving_right = True

    Antwort
    0
  • StornierenAntwort