Python - Ayuda Pygame: Menu Pausa

 
Vista:

Ayuda Pygame: Menu Pausa

Publicado por Ele (1 intervención) el 19/11/2017 14:34:23
Buen día!
Soy ultra principiante con todo lo que respecta a la programación. Estoy tratando de terminar un juego muy sencillo que es parecido al Tetris.
El problema es que el juego usa una cuenta regresiva que hace que termine cuando llega a 0. Logré hacer un menú de Pausa que funciona bien para pausar la parte gráfica, pero el contador sigue corriendo y no encuentro cómo solucionarlo. Si se deja el juego pausado por mucho tiempo, el contador sigue corriendo y toma valores negativos y en cuanto se quiere salir del menú, termina.

Realmente no tengo mucha idea de cómo usar el tiempo del juego dentro de la función para que no siga corriendo. Lamentablemente el juego se empezó desde un template y no de cero.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#El tiempo del juego esta dado por:
 
def game():
 
    ### Resto del Codigo ###
 
    framesInicio = 3
    tiempoMax = 150
 
    relojJuego = pygame.time.Clock()
    ticksInicio = pygame.time.get_ticks()
    tiempoTotal = 0
    segundos = tiempoMax
 
    ticksTrans = pygame.time.get_ticks() - ticksInicio
    segundos = tiempoMax - ticksTrans / 1000
 
    fps = framesInicio
 
    band = True
 
    while band:
        if segundos <= 0:
             band = False
             #El juego termina cuando el contador llega a cero
 
        gameClock.tick(fps)
        tiempoTotal += gameClock.get_time()
        fps = 15
 
    ### Resto del Codigo ###
 
 
#Menu pausa
def pausa():
 
    pausa = True
 
    while pausa:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()
            if event.type == KEYDOWN:
                if event.key == K_p: #Quitar la Pausa
                    pausa = False
                elif event.key == K_q: #Salir del juego
                    pygame.quit()
                    quit()
 
 
        pygame.display.update()

Gracias a todos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder