Sons
La propriété sound
des templates
associe un effet sonore à un élément du jeu. Vous pouvez utiliser différents types de sons, allant des templates prédéfinis aux sons personnalisés en passant par des URL PFXR.
Créer un effet sonore avec un template prédéfini
La méthode createSound
accepte deux paramètres :
- Le type de son parmi les suivants :
DEFAULT
RANDOM
PICKUP
LASER
EXPLOSION
POWERUP
HIT
JUMP
BLIP
FALL
FART
- Un paramètre optionnel : la graine (seed).
La graine est un nombre utilisé pour initialiser le générateur de sons de manière aléatoire mais déterministe. Cela signifie que si vous générez un son avec un certain type (par exemple, PICKUP
) et que vous fournissez une graine, le même son sera produit à chaque fois que vous réutiliserez cette graine. Si vous ne spécifiez pas de graine, un son aléatoire différent sera produit à chaque exécution.
Exemple avec un son généré de manière prédictible en utilisant une graine :
Si vous ne passez pas de graine, chaque génération produira un son différent.
Créer un son à partir d’une URL PFXR
Vous pouvez également créer un son à partir d’une URL générée via l’interface PFXR. L’URL contient les paramètres pour générer un son spécifique.
Exemple d’attribution d’un son généré via une URL PFXR à un template :
Créer un son personnalisé avec un objet Sound
Pour une personnalisation avancée, vous pouvez créer un objet Sound
et l’utiliser comme valeur pour la propriété sound
dans un template. L’objet peut contenir des paramètres tels que waveForm
, frequency
, sustainTime
, et decayTime
.
Vous pouvez consulter la documentation complète des paramètres disponibles pour l’objet Sound
sur le dépôt officiel de PFXR.
Exemple d’attribution d’un son personnalisé à un template :
Jouer un son de manière dynamique
Pour jouer un son indépendamment des templates
, vous pouvez utiliser l’objet game
retourné par la fonction createGame
. La méthode game.playSound
vous permet de jouer un son dynamique.
Exemple :
Exemple complet
Voici un exemple montrant comment attribuer des sons à différents templates et comment les jouer dynamiquement :