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.
Gráficos
7 imágenes para elementos visuales
Audio
4 archivos de sonido
Organización
Carpeta assets/ para todos los recursos
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")
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()
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()