Recursos gráficos y de audio

Los recursos son elementos fundamentales que dan vida al juego. En Asteroides v2 utilizamos imágenes y archivos de audio para crear una experiencia inmersiva.

image

Gráficos

7 imágenes para elementos visuales

audiotrack

Audio

4 archivos de sonido

folder

Organización

Carpeta assets/ para todos los recursos

code

Carga

Preload al inicio del juego

# Carga de recursos gráficos
const TEX_FONDO: Texture2D = preload("res://assets/fondo.png")
const TEX_ESTRELLA: Texture2D = preload("res://assets/estrella.png")
const TEX_JUGADOR: Texture2D = preload("res://assets/jugador.png")
const TEX_ASTEROIDE: Texture2D = preload("res://assets/asteroide.png")
const TEX_DISPARO: Texture2D = preload("res://assets/disparo.png")
const TEX_BOTON_CERRAR: Texture2D = preload("res://assets/boton_cerrar.png")
const TEX_GAME_OVER: Texture2D = preload("res://assets/game_over.png")

# Carga de recursos de audio
const MUSICA_FONDO: AudioStream = preload("res://assets/musica_fondo.mp3")
const SFX_DESTRUCCION: AudioStream = preload("res://assets/sfx_destruccion.mp3")
const SFX_MUERTE: AudioStream = preload("res://assets/sfx_muerte.mp3")
const SFX_DISPARO: AudioStream = preload("res://assets/sfx_disparo.mp3")
Estructura de recursos
folder_open
Gráficos
Audio
landscape fondo.png - Imagen de fondo del espacio
star estrella.png - Estrellas para efecto parallax
rocket jugador.png - Nave del jugador
blur_circular asteroide.png - Asteroides enemigos
flash_on disparo.png - Proyectiles de la nave
close boton_cerrar.png - Botón para cerrar el juego
sentiment_very_dissatisfied game_over.png - Pantalla de fin de juego
music_note musica_fondo.mp3 - Melodía ambiental del espacio
flash_on sfx_disparo.mp3 - Sonido corto al disparar
whatshot sfx_destruccion.mp3 - Explosión al destruir asteroides
sentiment_very_dissatisfied sfx_muerte.mp3 - Efecto dramático al Game Over
# Función para dibujar recursos
func dibujar_textura(textura, posicion, tamaño):
  # Dibuja una textura en una posición y tamaño específicos
  var rect = Rect2(posicion, tamaño)
  draw_texture_rect(textura, rect, false)

# Función para reproducir sonidos
func reproducir(nombre):
  var player = crear_audio_player()
  match nombre:
    "disparo": player.stream = SFX_DISPARO
    "destruccion": player.stream = SFX_DESTRUCCION
    "muerte": player.stream = SFX_MUERTE
  player.play()