Buenas estoy realizando un juego con fondo en movimiento horizontal… el hecho es que tengo listo mi actor principal con sus caracteristicas (el disparar me falla porque solo dispara para la derecha) y quiero agregar enemigos y obstaculos que al momento de colisionar con mi personaje el juego termine y al momento de eliminarlos el puntaje suba…hasta ahora me fije en un ejm del foro y pude hacer que caigan enemigos del cielo pero desearia que se generen tb de manera horizontal y random a lo largo del fondo horizontal y el nro de enemigos y rapidez ascienda segun la puntuacion aumente… Adjunto mi codigo y espero su pronta respuesta
Saludos desde Ecuador.
import pilasengine
pilas = pilasengine.iniciar()
#FONDO EN MOVIMIENTO....
fondo = pilas.fondos.DesplazamientoHorizontal()
fondo.agregar("imagenes/fondo.png",y = -50, velocidad=0)
fondo.agregar("imagenes/nubes.png", y = -40, velocidad = 0.1)
fondo.agregar("imagenes/city2.png", y=-30, velocidad=0.5)
fondo.agregar("imagenes/arbol.png", y= -25, velocidad=0.5)
fondo.agregar("imagenes/postes.png",y = -30, velocidad = 0.5)
fondo.agregar("imagenes/floor2.png", y=40, velocidad=2)
#Puntaje
puntos = pilas.actores.Puntaje(x=230, y=200, color=pilas.colores.blanco)
puntos.magnitud = 40
puntos.aumentar(cantidad = 1)
# Mi Primer personaje
class MiActor(pilasengine.actores.Actor):
    def iniciar(self):
        self.imagen = pilas.imagenes.cargar_animacion("imagenes/caminando.png",5)
        self.y = -150
        self.escala = 1
        self.figura = pilas.fisica.Circulo(self.x,self.y,30,friccion = 5, restitucion= 5)
        self.cuadro = 0
        self.centro_x = 110
        self.centro_y = 35
        self.radio_de_colision = 40
        
        self.aprender(pilas.habilidades.MoverseConElTeclado)
    def actualizar(self):
        if pilas.control.abajo:
            self.y -=3
            self.cuadro = 4
            if self.y < -150:
             self.y = -150
        if pilas.control.izquierda:
            if not self.espejado:
                self.espejado = True
            self.cuadro +=1
        elif pilas.control.derecha:
            if self.espejado:
                self.espejado = False
            self.cuadro += 1
            
        else:
            self.cuadro = 0
        if self.cuadro > 4:
            self.cuadro = 1
        if pilas.control.arriba:
            self.cuadro = 4 
            self.y +=1
            if self.y > -80:
                self.y -=13
            
        self.imagen.definir_cuadro(self.cuadro)
    
pilas.actores.vincular(MiActor)
mi_actor = pilas.actores.MiActor()
# No puedo hacer que el actor dispare desde el otro angulo de 180 por lo que solo dispara para 0
mi_actor.aprender(pilas.habilidades.Disparar,offset_origen_actor=(mi_actor.x, 0)) 
class Enemigos(pilasengine.actores.Bomba):
    def iniciar(self):
        self.imagen = "imagenes/dinamita.png"
        self.aprender( pilas.habilidades.PuedeExplotarConHumo )
        self.x = pilas.azar(-200, 200)
        self.y = 290
        self.velocidad = pilas.azar(10, 40) / 10.0
        self.escala = 0.43
        
    def actualizar(self):
        self.rotacion += 10
        self.y -= self.velocidad
        # Elimina el objeto cuando sale de la pantalla.
        if self.y < -300:
            self.eliminar()
        
enemigos = pilas.actores.Grupo()
# Funcion para crear enemigos
def crear_enemigo():
    actor = Enemigos(pilas)
    enemigos.agregar(actor)
# tiempo que demora en crear enemigos 
pilas.tareas.siempre(3, crear_enemigo)
def eliminar_enemigo(disparo, enemigo):
    enemigo.eliminar()
    disparo.eliminar()
    
pilas.colisiones.agregar('bala', 'Enemigos', eliminar_enemigo)
pilas.colisiones.agregar(mi_actor, enemigos, mi_actor.eliminar)
    
def cambiar_posicion_camara():
    pilas.camara.x += (mi_actor.x - pilas.camara.x) / 20.0
    
    return True
pilas.tareas.agregar(1/30.0, cambiar_posicion_camara)
pilas.ejecutar()
            