La función crear_disparo() genera proyectiles desde la posición del jugador hacia arriba. Los disparos son la principal herramienta del jugador para destruir asteroides.
-
add_circle
Creación de proyectil
Genera un nuevo disparo desde la nave del jugador
-
north
Dirección fija
Los disparos siempre se mueven hacia arriba
-
volume_up
Efecto de sonido
Reproduce el sonido de disparo al crear
lightbulb
Puntos clave
check_circle
Se ejecuta al pulsar el botón de disparo
check_circle
Cada disparo es un diccionario independiente
check_circle
Posición inicial centrada en la nave
Creación de disparos
flash_on
func crear_disparo():
# Verificar si el jugador está vivo
if !jugador.vivo:
return
# Crear nuevo disparo
var disparo = {}
# Posición inicial (centro superior de la nave)
disparo.pos = Vector2(
jugador.pos.x + jugador.tam.x / 2 - TAM_DISPARO / 2,
jugador.pos.y
)
# Tamaño del disparo
disparo.tam = Vector2(TAM_DISPARO, TAM_DISPARO)
# Velocidad (hacia arriba)
disparo.vel = Vector2(0, -VELOCIDAD_DISPARO)
# Añadir al array de disparos
disparos.append(disparo)
# Reproducir sonido de disparo
reproducir("disparo")
# Verificar si el jugador está vivo
if !jugador.vivo:
return
# Crear nuevo disparo
var disparo = {}
# Posición inicial (centro superior de la nave)
disparo.pos = Vector2(
jugador.pos.x + jugador.tam.x / 2 - TAM_DISPARO / 2,
jugador.pos.y
)
# Tamaño del disparo
disparo.tam = Vector2(TAM_DISPARO, TAM_DISPARO)
# Velocidad (hacia arriba)
disparo.vel = Vector2(0, -VELOCIDAD_DISPARO)
# Añadir al array de disparos
disparos.append(disparo)
# Reproducir sonido de disparo
reproducir("disparo")
place
Posición
Centro superior de la nave
straighten
Tamaño
TAM_DISPARO × TAM_DISPARO
speed
Velocidad
Vector2(0, -VELOCIDAD_DISPARO)
volume_up
Sonido
reproducir("disparo")
rocket