Saludos caballeros
Os informo de que ya dispongo de una base funcional del juego y que espero poder hacer un resumen de como lo he hecho para que así os sea mas sencillo entender como puede hacerse un juego así con Godot.
Dejo como adjunto en este mensaje una previsualización y lo que tengo del juego de momento (aviso de que el código no esta optimizado y es un tanto caótico)
nose como implementarlas o llamarlas intente con
get_collision
con entre_tree
is_collinding
y no me funciono
Ryoz yo también he tenido problemas para lograr que las colisiones funcionen y como voy a necesitar algo mas de tiempo para poder terminar el juego y explica como lo he echo voy a ofrecerte un resumen de como puedes hacer colisiones:
1- Te adjunto una captura de como esta configurado el objeto asteroide.
Ahí puedes ver que hay un Area2D con dos hijos, el Sprite y el CollisionShape2D, si seleccionar el Area2D y pulsas en el botón del enchufe se abrirá un dialogo.
En ese dialogo hay una lista con lo diferentes "eventos" que ofrece ese nodo, yo he conectado "area_enter_shape" para aprovechar el CollisionShape2D que tiene, aunque también puedes usar "area_enter" (que me parece que no usa el CollisionShape2D sino el rectángulo del Area2D).
Una vez que haya elegido el evento que mas te conviene solo tienes que "conectarlo" y elegir a que objeto quieres conectarlo, si miras mi proyecto verás que he conectado el Area2D a el mismo, esto básicamente crea una función en el script del nodo añadiendo la linea: func _on_Area2D_area_enter_shape( area_id, area, area_shape, area_shape ):
Esta linea no funciona si no has hecho el procedimiento de "conectar" que te he comentado con el botón del enchufe.
2- Hay que tener en cuenta que el CollisionShape2D no funciona si no le especificas una nueva forma en el panel de la derecha (Shape: New CircleShape2D), verás que al hacer esto aparece una forma que representa la zona que colisiona.
Si necesitas algo mas para entender las colisiones mejor abre un nuevo tema y lo comentamos ahí.