Compartir la instancia de pilas entre módulos

Hola,

¿Hay alguna forma de, luego de haber ejecutado en main.py

pilas = pilasengine.iniciar()

pueda acceder a esa instancia de pilas desde otro archivo, llamado colisiones.py, en este caso?

Saludos,

Hola @humitos, ¿cómo estás?.

Te comento sobre el objeto pilas. Una vez que inicias la biblioteca, la instancia pilas va a ser “injectada” como dependencia por el propio motor, tanto en los actores como en las escenas.

Por ejemplo, si armas un actor personalizado, el objeto pilas va a estar disponible como self.pilas dentro de cualquier método (lo mismo con las escenas):

http://manual.pilas-engine.com.ar/actores_personalizados/

Otra opción, si tu archivo “colisiones.py” no contiene el código de un actor o escena de pilas, es enviarle el objeto “pilas” como parámetro, mediante una función por ejemplo.

Algo así:

import pilasengine
import colisiones

pilas = pilasengine.iniciar()

colisiones.vincular(pilas)

pilas.ejecutar()

donde vincular podría ser la función que hace algo con pilas:

# archivo colisiones.py

def vincular(pilas):
    # etc...

Parece algo raro que el objeto pilas se tenga que usar así, pero en el fondo es una buena idea para evitarlo como objeto global, hay algunas ideas de esto aquí y en la documentación de flask (de donde pilas toma algunas ideas).