Hola @hokuto!!, perdón por la demora …
Para crear un fondo de videojuegos como galaxias lo más conveniente es usar una imagen que actúe como mosaico, es decir, una imagen que se pueda repetir una y otra vez simulando un espacio infinito.
Por ejemplo, si tenes una imagen llamada “sky.png”, lo más simple para hacer un fondo es escribir esta linea de código:
pilas.fondos.FondoMozaico("sky.png")
Y luego, cada vez que muevas la cámara el fondo se desplazará acordemente. Por ejemplo, si movemos la cámara a la derecha (x = 2000) en 10 segundos:
pilas.camara.x = [2000], 10
Esto también se puede probar sin usar ninguna imagen personalizada, por ejemplo, si escribís:
pilas.fondos.FondoMozaico("mono.png")
Vas a notar que pilas tomará la imagen que le envíes y va a repetirla cuantas veces pueda para cubrir toda la pantalla:
Por supuesto que lo ideal es usar una imagen que aparente ser un fondo real, como este ejemplo:
pilas.fondos.FondoMozaico("fondos/espacio.png")
Otra opción a la hora de hacer fondos es usar actores comunes y corrientes, y hacer que se muevan solos, sin desplazar la cámara.
Por ejemplo, si querés hacer un fondo tipo bosque para un juego de naves podrías usar esta imagen:
Y luego asignarsela a un actor, indicándole que la imagen se tiene que repetir horizontalmente:
mi_fondo = pilas.actores.Actor()
mi_fondo.imagen = "arboles.png"
mi_fondo.z = 200
mi_fondo.imagen.repetir_horizontal = True
Y para producir el efecto de movimiento, agregar algo así:
def mover_fondo():
mi_fondo.x -= 1
pilas.tareas.siempre(1/60.0, mover_fondo)
También existe el atributo repetir_vertical
, que funciona casi igual, solo que sirve para que la imagen se repita verticalmente.
Por cierto, si buscas en internet imágenes tipo “space tile”, o “sky tile” vas a encontrar varias imágenes que te pueden servir. Incluso hay colecciones disponibles para descargar en sitios gratuitos como OpenGameArt: https://opengameart.org/content/bevouliin-free-game-background-for-game-developers
Con respecto a la velocidad del intérprete, ¿probaste deshabilitar el autocompletado desde las opciones de pilas?, ¿deshabilitar esa opción previene que se haga lento?.
No pude reproducir ese error en otros equipos, pero si logro hacerlo fallar como en tu equipo seguramente pueda resolverlo.
Ah, y por último, para ocultar un actor podrías cambiarle la transparencia a 100:
mono.transparencia = [100]
O sin los si quieres que sea inmediato:
mono.transparencia = 100
Saludos!!