Audio
Pyxen prend en charge deux types d’audio : les sons pour les effets courts et la musique pour les pistes plus longues. Les deux sont attachés aux entités sous forme de components.
Sons
Un Sound est un clip audio court — un saut, un impact, une pièce ramassée. Vous jouez un son en créant une entity avec un component Sound :
world.spawn(sound=Sound("jump"))
Le son est joué immédiatement. Vous pouvez contrôler les propriétés de lecture :
world.spawn(sound=Sound("laser", loop=True, volume=0.5, pan=-0.5))
| Propriété | Signification |
|---|---|
loop | Indique si le son se répète |
volume | Volume (0.0 = silence, 1.0 = maximum) |
pan | Position stéréo (-1.0 = gauche, 0.0 = centre, 1.0 = droite) |
Les sons sont chargés à partir des fichiers audio présents dans les assets de votre projet.
La banque de sons
La Banque de sons de l’espace de travail Son contient les effets sonores du projet : ▶ en joue un sur place, et la ligne sous la liste est le code qui joue le son choisi. Trois boutons en haut en ajoutent un :
- Créer un effet sonore (la baguette) crée un nouvel effet sonore et le joue ; façonnez-le dans le panneau SFX à côté de la banque.
- Enregistrer un son… (le micro) enregistre jusqu’à 10 secondes. Il est grisé sur un appareil sans micro.
- Importer des sons… (la flèche dans un bac) ajoute des fichiers audio.
Laissez le pointeur sur un bouton pour voir son nom, ou touchez-le longuement sur iPad. Quand le panneau est trop étroit pour les trois, ils sont réunis dans un seul menu + Son. Une banque vide nomme les trois en toutes lettres.
Dans une fenêtre d’iPad étroite, le son de la sous-fenêtre SFX reste en haut avec Lecture, et ses réglages sont les outils du plateau : Préréglages, Forme, Hauteur et Effets.
Utilisé dans le code, dans la barre de la banque, liste les lignes de vos scripts qui nomment ses sons ; choisissez-en une pour y aller. Dans le code, un Cmd+clic sur le nom d’un son, comme Sound("sfx/coin"), ouvre sa banque avec ce son choisi.
Musique
La musique fonctionne comme Sound mais est conçue pour les pistes plus longues. La musique est diffusée en streaming plutôt que chargée entièrement en mémoire :
world.spawn(music=Music("theme", loop=True))
La musique prend en charge les mêmes propriétés : loop, volume et pan.
Une piste peut aussi dire à votre jeu où elle en est. Les modules tracker exposent leurs parties et leur temps, ce qui permet de couper une partie ou de pulser à chaque temps ; voir la référence Music pour channels, beat, bar et tempo.
L’audio en tant que components
Puisque l’audio est attaché aux entités, vous le gérez de la même manière que tout le reste :
# démarrer la musique de fond
bgm = world.spawn(name="bgm", music=Music("overworld", loop=True))
# l'arrêter plus tard
world.destroy(bgm)
Cela s’intègre naturellement avec le modèle ECS — l’audio est simplement un component supplémentaire sur une entity, visible dans l’inspecteur de frames comme tout le reste.
Enregistrer un son
Sur un Mac ou un iPad doté d’un micro, ouvrez Enregistrer un son dans une Banque de sons pour enregistrer une prise de 10 secondes au plus. Appuyez sur le bouton rond, ou sur Espace, pour commencer, puis de nouveau pour arrêter.
Une fois arrêtée, la prise est dessinée en entier, et Lecture à côté de sa durée la fait écouter avec une tête de lecture ; Espace la lance et l’arrête aussi. Ajouter à la banque ajoute la prise écoutée comme un nouveau son. Le bouton rond enregistre une nouvelle prise à la place de celle-ci, sans rien demander ; Espace jamais.
Formats pris en charge
- Sons : WAV
- Musique : OGG Vorbis, MIDI et modules tracker (MOD, XM, IT, S3M)
Ajoutez des fichiers audio à votre projet avec Fichier › Importer des images ou des sons….