Colisiones entre disparos y actores en grupo

Hola!
Estamos tratando de capturar la colisión entre el disparo y los actores (monos y aceitunas que se crean dinámicamente), pero no hemos podido realizarlo.
Les enviamos el código fuente para ver si alguien puede corregírnoslo.
Somos una profe y alumna de programación, en la que estamos aprendiendo a usar pilas.

Gracias!


# coding: utf-8
import pilasengine

pilas = pilasengine.iniciar()

nave = pilas.actores.Nave(y=-200)
nave.aprender("LimitadoABordesDePantalla")

class MiMunicion(pilasengine.actores.Actor):

    def iniciar(self):
        self.imagen = "disparos/bola_amarilla.png"
        self.escala_y = 0.25
        self.escala_x = 0.25
        self.y = 100
    
    def actualizar(self):
        self.escala_y += 0.2
        self.rotacion += 10

pilas.actores.vincular(MiMunicion)

nave.aprender('disparar', municion='MiMunicion', angulo_salida_disparo=90)

enemigos = pilas.actores.Grupo()

def crear_actor_aceituna():
    a = pilas.actores.Aceituna()
    enemigos.agregar(a)
    a.aprender('puedeExplotar')
    
    a.x = pilas.azar(-200, 200)
    a.y = pilas.azar(-200, 200)
    
    a.escala = 0.1
    a.escala = [1]
    
def crear_actor_mono():
    m = pilas.actores.Mono()
    enemigos.agregar(m)
    m.aprender('puedeExplotar')
    
    m.y = pilas.azar(-200, 200)
    
    m.escala = 0.1
    m.escala = [0.5]
   
    #valor = pilas.azar(1, 2)

    #if valor == 1:
        #m.x = pilas.azar(-200, 200)
        #m.hacer("Avanzar", 200)
    #else:
    m.x = pilas.azar(-200, 200)
    m.hacer("Avanzar", pilas.azar(1, 50))
    
nave.definir_enemigos(enemigos)

def crear_enemigo():
    valor = pilas.azar(1, 3)

    if valor == 1:
        crear_actor_aceituna()
    elif valor == 2:
        crear_actor_mono()

pilas.tareas.siempre(0.5, crear_enemigo)

puntaje = pilas.actores.Puntaje(color='blanco')
puntaje.x = 300
puntaje.y = 220

fondo = pilas.fondos.Galaxia()

def destruir(disparo, enem):
    disparo.eliminar()
    enem.eliminar()
    puntaje.aumentar(100)
    
pilas.colisiones.agregar('MiMunicion', enemigos, destruir)
pilas.ejecutar()

Buenas, @Claudia_Gonzalez !

A qué te refieres con “capturar colisión” ?

He testado vuestro juego y la colisión funciona correctamente! Cuando el disparo alcanza los monos y las aceitunas se destruyen sin problema.

Podriais aclarar un poco mejor vuestra consulta para saber donde está el fallo?

Un saludo! :wink: