El sistema de creación de asteroides genera nuevos obstáculos de forma periódica con posición y tamaño aleatorios. Controla el tiempo entre apariciones para regular la dificultad del juego.
codeImplementación
func _crear_asteroides(delta: float):
# Cada "intervalo_asteroides" segundos, creamos uno nuevo
tiempo_proximo_asteroide += delta
if tiempo_proximo_asteroide >= intervalo_asteroides:
tiempo_proximo_asteroide = 0.0
# Posición X aleatoria dentro de los límites
var x = randi_range(0, pantalla.x - TAM_ASTEROIDE)
# Tamaño aleatorio entre la mitad y el doble del base
var tam = randi_range(TAM_ASTEROIDE / 2.0, TAM_ASTEROIDE * 2.0)
# Colocamos el rectángulo justo por encima de la pantalla
var asteroide = Rect2(x, -tam, tam, tam)
asteroides.append(asteroide)
# Cada "intervalo_asteroides" segundos, creamos uno nuevo
tiempo_proximo_asteroide += delta
if tiempo_proximo_asteroide >= intervalo_asteroides:
tiempo_proximo_asteroide = 0.0
# Posición X aleatoria dentro de los límites
var x = randi_range(0, pantalla.x - TAM_ASTEROIDE)
# Tamaño aleatorio entre la mitad y el doble del base
var tam = randi_range(TAM_ASTEROIDE / 2.0, TAM_ASTEROIDE * 2.0)
# Colocamos el rectángulo justo por encima de la pantalla
var asteroide = Rect2(x, -tam, tam, tam)
asteroides.append(asteroide)
auto_fix_highProceso de creación
timer
Control de tiempo
Acumula tiempo hasta superar el intervalo definido
shuffle
Posición aleatoria
Genera coordenada X dentro del ancho de pantalla
aspect_ratio
Tamaño variable
Calcula tamaño entre 50% y 200% del tamaño base
add_box
Añadir a lista
Incorpora el nuevo asteroide al array de asteroides
tuneParámetros de configuración
schedule
intervalo_asteroides = 0.75 - Segundos entre apariciones de asteroides
straighten
TAM_ASTEROIDE = 64 - Tamaño base en píxeles de los asteroides
height
Los asteroides se crean con y = -tam para que aparezcan desde fuera de la pantalla
casino
Uso de randi_range() para generar valores aleatorios dentro de un rango
repeat
Al crear un asteroide, se reinicia el contador tiempo_proximo_asteroide