pyxen.Sound
Un clip de audio corto adjunto a un Entity como componente.
Los sonidos se cargan completamente en memoria — úsalos para efectos cortos como saltos, golpes y recolecciones.
Para conceptos de audio, consulta Audio.
Constructor
Sound(filename)
Un argumento posicional requerido: el nombre de un recurso de audio WAV en el proyecto.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
filename | str | Nombre del recurso WAV |
Ejemplo
jump_sound = Sound("jump")
Adjuntar un Sound
Durante spawn:
sfx = world.spawn(sound=Sound("jump"))
O después:
entity.sound = Sound("jump")
Asignar un sonido inicia la reproducción inmediatamente.
Propiedades del componente
Acceso mediante entity.sound:
| Propiedad | Tipo | L/E | Descripción |
|---|---|---|---|
loop | bool | L/E | Activar bucle |
volume | float | L/E | Ganancia (limitada >= 0.0) |
pan | float | L/E | Paneo estéreo (-1.0 a 1.0) |
time | float | L | Posición actual de reproducción (segundos) |
duration | float | L | Duración total (segundos) |
finished | bool | L | True cuando la reproducción ha terminado |
loop
entity.sound.loop = True
Cuando está activado, el sonido se reinicia automáticamente al terminar.
volume
entity.sound.volume = 0.5
Los valores por debajo de 0.0 se limitan a 0.0.
pan
entity.sound.pan = -1.0 # totalmente a la izquierda
entity.sound.pan = 1.0 # totalmente a la derecha
entity.sound.pan = 0.0 # centro
Limitado al rango -1.0 a 1.0.
time
t = entity.sound.time
Solo lectura. Posición actual de reproducción en segundos.
duration
d = entity.sound.duration
Solo lectura. Duración total del sonido en segundos.
finished
if entity.sound.finished:
world.destroy(entity)
Solo lectura. True cuando el sonido ha terminado de reproducirse (y loop es False).
Formato
Los recursos de sonido deben ser archivos WAV.
Errores comunes
Nombre de archivo faltante
Sound()
ValueError: Sound must have a file
Recurso inválido
Sound("nonexistent")
El objeto de sonido se crea pero la reproducción fallará silenciosamente con una advertencia registrada.