2016-12-05 19 views
0

我試圖讓pygame中的圖像在檢測到碰撞後顯示。但是我遇到的問題是圖像只在IF條件爲真時才顯示。如果條件只有一次,我有沒有辦法讓圖像留下來?條件爲真時如何顯示圖像?

語法/

#Game Over 
if collision == True: 
    SCREEN.blit(start_menu, (0, 0)) 
    SCREEN.blit(final_score, (800, 5)) 

注:我已經有一個while語句和對這一計劃的

+1

一旦顯示圖像,爲什麼不設置一個單獨的標誌爲真,然後檢查並在下一次碰撞時不顯示它? –

+0

我試過了,它只是在沒有檢測到碰撞的情況下顯示圖像。 – nipkip

+1

'如果碰撞== True和image_shown ==題:顯示圖像,設定image_shown = TRUE; –

回答

1

這裏下運行的循環是一個辦法:

  1. 做一個變量:

    GameOver = False 
    
  2. 使用if語句,你用它來檢測碰撞

    if collision == True: 
        GameOver = True 
    
  3. 顯示與此變量

    if GameOver == True: 
        SCREEN.blit(start_menu, (0, 0)) 
        SCREEN.blit(final_score, (800, 5)) 
    

您的塊傳輸,請告訴我,如果這有助於!

+0

您需要在第三個if語句中添加一個等號。而且,變量名只能使用小寫字母,而不能使用CamelCase。 CamelCase用於類名。通常不用布爾檢查相等性,只要做'if collision:game_over = True' –

+0

啊,我看到我犯了一個錯誤!坦克讓我知道! – Qwerty

+0

Omg,謝謝兄弟!是的它的工作:3 – nipkip