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ámetroTipoDescripción
filenamestrNombre 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:

PropiedadTipoL/EDescripción
loopboolL/EActivar bucle
volumefloatL/EGanancia (limitada >= 0.0)
panfloatL/EPaneo estéreo (-1.0 a 1.0)
timefloatLPosición actual de reproducción (segundos)
durationfloatLDuración total (segundos)
finishedboolLTrue 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.