La función _draw() se encarga de renderizar todos los elementos visuales del juego en cada frame. Utiliza "dibujo inmediato" para pintar directamente sobre el lienzo del Node2D.
codeImplementación
func _draw():
# Todo lo que dibujamos aquí se "pinta" encima del lienzo
_color_fondo_jugando() # Capa de fondo (negro)
_dibujar_asteroides() # Asteroides (texturas)
_dibujar_jugador() # Nave del jugador (textura)
_mostrar_boton_cerrar() # Botón "X" arriba a la derecha
if muerto: _color_game_over() # Capa roja al perder
# Todo lo que dibujamos aquí se "pinta" encima del lienzo
_color_fondo_jugando() # Capa de fondo (negro)
_dibujar_asteroides() # Asteroides (texturas)
_dibujar_jugador() # Nave del jugador (textura)
_mostrar_boton_cerrar() # Botón "X" arriba a la derecha
if muerto: _color_game_over() # Capa roja al perder
brushCaracterísticas clave
layers
Dibujo en capas: los elementos se pintan en orden específico
call_made
Se invoca automáticamente o mediante queue_redraw()
format_paint
Usa funciones draw_*() para renderizado inmediato
visibility
Elementos condicionales (ej: capa roja solo al perder)
sortOrden de dibujado
1
Fondo
Rectángulo negro que cubre toda la pantalla
2
Asteroides
Texturas de asteroides en sus posiciones actuales
3
Jugador
Textura de la nave en su posición actual
4
Botón cerrar
Icono en la esquina superior derecha
5
Game Over (condicional)
Capa roja semitransparente cuando el jugador pierde