Como hacer una colisión correcta mente

me arroja error y dice que no esta definida bien la variable ,pero yo no veo el error.si me pudieran ayudar

def juntar(canasta,sandia):  
    sandia.eliminar()
    
pilas.colisiones.agregar(canasta,sandia,juntar) 
 
def iniciar_juego():
    escena_actual=pilas.escenas.Normal()
    escena_actual.pulsa_tecla_escape.conectar(menu)
    #2 fondos
    pilas.fondos.Nubes()
    yerba = pilas.fondos.Fondo()
    yerba.imagen = pilas.imagenes.cargar('pasto.png')
    yerba.y=-250
    
    #Mi actor 
    actor2=pilas.actores.Actor()*5
    actor2.imagen="sandia.png"
    actor2.escala=0.08
    actor2.aprender("EliminarseSiSaleDePantalla")
    actor2.radio_de_colision=10
    sandia=(actor2)
    
    #Actor protagonista
    principal=pilas.actores.Actor()
    principal.imagen="canasto.png"
    principal.escala=0.15
    principal.aprender("SeguirAlMouse")
    principal.aprender("LimitadoABordesDePantalla")
    principal.radio_de_colision=100
    canasta=(principal)

Buenas, @Barudi !!!

def juntar(canasta,sandia):  
    sandia.eliminar()
    
pilas.colisiones.agregar(canasta,sandia,juntar)

Podrias poner esta porción de código DENTRO de la def iniciar_juego().

Prueba eso y nos comentas ok?

Un saludo :wink:

Gracias,ya pude realizar la colision, pero cambie las variables, porque me daba error. Hay alguna forma de mejor esto?

def tocar_fruta(principal,actor2):
    actor2.eliminar()
   
    
def iniciar_juego():
    escena_actual=pilas.escenas.Normal()
    escena_actual.pulsa_tecla_escape.conectar(menu)
    #2 fondos
    pilas.fondos.Nubes()
    yerba = pilas.fondos.Fondo()
    yerba.imagen = pilas.imagenes.cargar('pasto.png')
    yerba.y=-190
    
    #Mi actor 
    actor2=pilas.actores.Actor()*5
    actor2.imagen="sandia.png"
    actor2.escala=0.08
    actor2.aprender("EliminarseSiSaleDePantalla")
    actor2.radio_de_colision=15
    actor2.hacer("Proyectil")
    
    #Actor protagonista
    principal=pilas.actores.Mono()
    principal.imagen="canasto.png"
    principal.escala=0.15
    principal.aprender("SeguirAlMouse")
    principal.aprender("LimitadoABordesDePantalla")
    principal.radio_de_colision=25
    
    #llamados de las funciones
    pilas.colisiones.agregar(principal,actor2, tocar_fruta)

Buenas, @Barudi !

Me temo no entender tu pregunta…

La colisión que has programado te funciona correctamente??? Entonces no veo necesidad de mejorar nada :smile:

Para mi ese código es totalmente correcto. De todas formas, si te diera algún problema no dudes en volver a consultar y haremos un testeo de errores…

Un saludo ! :wink: