Función crear_disparo()

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")
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