Python - Cómo finalizar el llamado a arcade.run() en python…?

 
Vista:
Imágen de perfil de Patricio
Val: 209
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por Patricio (42 intervenciones) el 16/07/2020 23:11:33
Tengo el siguiente programa en python con arcade:

1
2
3
4
5
6
7
8
9
10
11
import arcade
 
def main():
    """ Main method """
    game = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
    game.setup()
    arcade.run()
    print("Fin...!!!")
 
if __name__ == "__main__":
    main()

Pero la instrucción print("Fin...!!!") de la función main nunca se ejecuta..

Por qué...???

Qué se debe hacer para terminar el arcade.run()...???

Muchas Gracias.
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
Imágen de perfil de Jaime
Val: 526
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por Jaime (136 intervenciones) el 16/07/2020 23:52:28
Hola Patricio.

Resulta que investigando la documentación oficial (https://arcade.academy/arcade.html), el método run() es de los últimos ejecutados del programa...[cito textualmente: "Run the main loop. After the window has been set up, and the event hooks are in place, this is usually one of the last commands on the main program."]...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Patricio
Val: 209
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por Patricio (42 intervenciones) el 17/07/2020 02:32:32
Garcias Jaime:

Eso es verdad, lo que pasa es que al cerrar la venta del juego, éste sigue ejecutándose, y no sé cómo detenerlo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jaime
Val: 526
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por Jaime (136 intervenciones) el 17/07/2020 03:52:41
Revisando un poco más la documentación, pude ver que existe un método que, en teoría, termina el programa: "arcade.finish_render()". Yo creo que sería bueno que lo intentaras usar en un evento como de pausa o de cerrar.

Lo digo porque el inicio del programa se hace a través del evento "on_draw()" con el método "arcade.start_render(); por lo que concluyo que "arcade.finish_render()", en un evento de pausa o cerrar, debería terminar el programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Patricio
Val: 209
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por Patricio (42 intervenciones) el 17/07/2020 04:38:12
In Arcade, when you use a class instead of a function, the Arcade rules are different. For example, on_draw has a start_render but not a finish_render. Arcade knows to run finish_render.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por yoyyo (1 intervención) el 17/07/2020 05:15:08
la verdad no se que querés hacer y dudo que ese código funcione. con algunas modificaciones, omisiones y agregados:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#-*- coding: utf -8 -*-
import arcade
 
class MyGame(arcade.Window):
    def __init__(self,SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_TITLE):
        super().__init__(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_TITLE)
 
def main():
    """ Main method """
    MyGame(800,600,"Mi juego")
    arcade.run()
 
if __name__ == "__main__":
    main()

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Patricio
Val: 209
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Cómo finalizar el llamado a arcade.run() en python…?

Publicado por Patricio (42 intervenciones) el 19/07/2020 10:43:18
Fin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar