El sistema de inicialización prepara todos los componentes necesarios antes de que comience el juego. Estas funciones se ejecutan en _ready() y establecen el estado inicial del juego.
codeFunciones de inicialización
func _ready():
randomize() # Generar números aleatorios diferentes
_inicializar_pantalla()
_inicializar_jugador()
_crear_ui_tiempo()
_crear_boton_cerrar()
_crear_ui_game_over()
func _inicializar_pantalla():
pantalla = get_viewport_rect().size
func _inicializar_jugador():
jugador = Rect2(
pantalla.x / 2 - TAM_JUGADOR / 2,
pantalla.y - TAM_JUGADOR * 1.25,
TAM_JUGADOR, TAM_JUGADOR
)
randomize() # Generar números aleatorios diferentes
_inicializar_pantalla()
_inicializar_jugador()
_crear_ui_tiempo()
_crear_boton_cerrar()
_crear_ui_game_over()
func _inicializar_pantalla():
pantalla = get_viewport_rect().size
func _inicializar_jugador():
jugador = Rect2(
pantalla.x / 2 - TAM_JUGADOR / 2,
pantalla.y - TAM_JUGADOR * 1.25,
TAM_JUGADOR, TAM_JUGADOR
)
settingsComponentes inicializados
desktop_windows
_inicializar_pantalla()
Obtiene dimensiones de la ventana/viewport
rocket
_inicializar_jugador()
Posiciona la nave del jugador
timer
_crear_ui_tiempo()
Crea etiqueta de cronómetro
close
_crear_boton_cerrar()
Prepara botón para salir
sentiment_very_dissatisfied
_crear_ui_game_over()
Prepara mensaje de fin
lightbulbCaracterísticas clave
shuffle
randomize() asegura que cada partida genere números aleatorios diferentes
center_focus_strong
El jugador se posiciona centrado horizontalmente y cerca del borde inferior
visibility_off
La etiqueta de "GAME OVER" se crea oculta y solo se muestra al perder
add_box
Los elementos de UI se añaden como nodos hijos mediante add_child()
text_format
Las etiquetas de texto configuran su tamaño mediante theme_override_font_sizes