ich mache spiel, das spiel zeigt über auf dem bildschirm am ende des spiels und wenn player drücken sie ein beliebiges schlüsselspiel ist wieder gestartet. Das Spiel wird über dem Bildschirm angezeigt, aber das Problem ist, dass das Spiel nicht startet, wenn ich irgendeine Taste drücke. Ich vermute Funktion gameOverScreen() nicht aus while-Schleife zurückkehrt, konnte ich nicht verstehen, warumpygame spiel startet nicht auf schlüssel drücken
diese Funktion aufgerufen, wenn das Spiel über diese kontinuierlich bis Spieler drücken läuft eine beliebige Taste:
def gameOverScreen():
textFont = pygame.font.Font('freesansbold.ttf',90)
while True:
overSurf = textFont.render('GAME OVER',True,RED)
overRect = overSurf.get_rect()
overRect.center = (WINDOWWIDTH/2,WINDOWHEIGHT/2)
DISPLAYSURF.blit(overSurf,overRect)
drawPressKeyMessage()
checkForKeyPress()
if checkForKeyPress():
pygame.event.get() #clear event queue
return
pygame.display.update()
FPSCLOCK.tick(FPS)
Funktion zu überprüfen Taste drücken ist:
def checkForKeyPress():
if len(pygame.event.get(QUIT)) > 0:
terminate()
keyUpEvents = pygame.event.get(KEYUP)
if len(keyUpEvents) == 0:
return None
else:
return keyUpEvents[0].key
Hauptfunktion, die alle Funktionen aufrufen, ist:
def main():
global FPSCLOCK, DISPLAYSURF, BASICFONT
pygame.init()
FPSCLOCK = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
BASICFONT = pygame.font.Font('freesansbold.ttf', 18)
pygame.display.set_caption('Wormy')
showStartScreen()
while True:
runGame()
showGameOverScreen()
Was nennt 'gameOverScreen()' und welcher Code kommt unmittelbar danach? – micsthepick
Sobald eine Taste gedrückt wird, sollte 'gameOverScreen' enden, wie kann man sagen, dass der Code nicht ausgeführt wird? – micsthepick
@micsthepick gameOverScreen() -Funktion weiterlaufen, bis eine Rückkehr gekontert wird – Tango