Audio

Pyxen soporta dos tipos de audio: sonidos para efectos cortos y música para pistas más largas. Ambos se adjuntan a entidades como componentes.

Sonidos

Un Sound es un clip de audio corto — un salto, un golpe, recoger una moneda. Reproduces un sonido generando una entidad con un componente Sound:

world.spawn(sound=Sound("jump"))

El sonido se reproduce inmediatamente. Puedes controlar las propiedades de reproducción:

world.spawn(sound=Sound("laser", loop=True, volume=0.5, pan=-0.5))
PropiedadSignificado
loopSi el sonido se repite
volumeVolumen (0.0 = silencio, 1.0 = máximo)
panPosición estéreo (-1.0 = izquierda, 0.0 = centro, 1.0 = derecha)

Los sonidos se cargan desde archivos de audio en los assets de tu proyecto.

El banco de sonido

El Banco de sonido del espacio de trabajo Sonido guarda los efectos de sonido del proyecto: ▶ reproduce uno en su sitio, y la línea bajo la lista es el código que reproduce el sonido elegido. Tres botones en la parte superior añaden uno:

Deja el puntero sobre un botón para ver su nombre, o mantenlo pulsado en el iPad. Cuando el panel es demasiado estrecho para los tres, están en un único menú + Sonido. Un banco vacío nombra los mismos tres con palabras.

En una ventana de iPad estrecha, el sonido del panel SFX se queda arriba con Reproducir, y sus controles son las herramientas de la bandeja: Presets, Forma, Tono y Efectos.

Usado en el código, en la barra del banco, lista las líneas de tus scripts que nombran sus sonidos; elige una para ir a ella. En el código, Cmd+clic en el nombre de un sonido, como Sound("sfx/coin"), abre su banco con ese sonido elegido.

Música

La música funciona como Sound pero está diseñada para pistas más largas. La música se transmite en flujo en vez de cargarse completamente en memoria:

world.spawn(music=Music("theme", loop=True))

La música soporta las mismas propiedades: loop, volume y pan.

Una pista también puede decirle a tu juego en qué punto está. Los módulos tracker exponen sus partes y su pulso, de modo que un juego puede silenciar una parte o latir en cada pulso; consulta la referencia de Music para channels, beat, bar y tempo.

Audio como componentes

Como el audio se adjunta a entidades, lo gestionas de la misma forma que todo lo demás:

# iniciar música de fondo
bgm = world.spawn(name="bgm", music=Music("overworld", loop=True))

# detenerla después
world.destroy(bgm)

Esto encaja naturalmente con el modelo ECS — el audio es solo otro componente en una entidad, visible en el inspector de fotogramas como todo lo demás.

Grabar un sonido

En un Mac o un iPad con micrófono, abre Grabar sonido en un Banco de sonido para grabar una toma de hasta 10 segundos. Pulsa el botón redondo, o Espacio, para empezar, y otra vez para parar.

Al parar, la toma se dibuja entera y Reproducir, junto a su duración, la reproduce con un cabezal; Espacio también la reproduce y la detiene. Añadir al banco añade la toma que has oído como un sonido nuevo. El botón redondo graba una toma nueva en lugar de esta, sin preguntar; Espacio nunca lo hace.

Formatos soportados

Añade archivos de audio a tu proyecto con Archivo › Importar imágenes o sonidos….

Para la API completa, ve Sound y Music.