搜尋

首頁  >  問答  >  主體

pygame - python中響應同一事件第二次的時候執行不同操作

在循環中響應了鍵盤一個鍵按下,然後執行兩個操作,然後再次響應鍵盤的同一個鍵的按下,但是只執行第二個操作,應該怎麼處理?

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

例如elif語句中,從第二次開始,只執行tank.movi​​ng_right = True 而不再執行tank.update1()
應該怎麼處理

阿神阿神2749 天前619

全部回覆(2)我來回復

  • 漂亮男人

    漂亮男人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里加成员变量

    回覆
    0
  • 仅有的幸福

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

    加入個標誌變數

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

    回覆
    0
  • 取消回覆