2016-07-26 15 views
1

Mein Code, der eine Anzeigetafel zeigt, blinkt immer, weil ich den Hintergrund weiß mache. Aber ich möchte, dass das aufhört. Also gibt es eine Möglichkeit, Pygame zu machen, all das Zeichnen und Füllen ohne die Aktualisierung der Anzeige zu machen, und wenn die Zeichnung fertig ist, zeigt es das neue Ergebnis, so muss ich nicht jeden Schritt und damit das Blinken sehen?pygame blinkender Bildschirm fix

def score(): 
    while ScoreTrue: 
     pygame.event.get() 
     window.fill(white) 
     display_score= (display_height/ 1.2) 
     message_display("Scoreboard", 2, 5) 
     message_meduim("5th place: " + ", ".join(repr(e) for e in Scoreboard[0]), 3, display_score) 
     message_meduim("4th place:" + ", ".join(repr(e) for e in Scoreboard[1]), 3, display_score - 100) 
     message_meduim("3rd place:" + ", ".join(repr(e) for e in Scoreboard[2]), 3, display_score - 200) 
     message_meduim("2nd place:" + ", ".join(repr(e) for e in Scoreboard[3]), 3, display_score - 300) 
     message_meduim("1st place:" + ", ".join(repr(e) for e in Scoreboard[4]), 3, display_score - 400) 
     Button("Play again", display_width/1.2,display_height/1.6, display_width/8, display_height/9, red, red_light, "play") 

Antwort

0

Wenn Sie eine while-Schleife, die Ihr Fenster zeigt (was ich nehme an, Sie tun), dann wahrscheinlich die entweder pygame.display.flip() in der Schleife oder pygame.display.update() aufrufen. Sie sollten also nicht auch in Ihrer Bewertungsfunktion aufrufen müssen. Entfernen Sie die pygame.display.update() in Ihrer score Funktion und rufen Sie einfach die score Funktion in Ihrer While-Schleife.