audio_play_sound_at


La description

Avec cette fonction, vous pouvez jouer n'importe quelle ressource sonore à une position donnée dans l'espace audio. Vous fournissez l'index sonore, puis lui attribuez une position dans l'espace 3D. La position d'écoute par défaut est (0, 0, 0), donc si l'écouteur n'a pas été déplacé et que vous voulez que le son vienne de la gauche (par exemple), vous devez mettre la position x à une valeur négative (par exemple plus d'informations sur la définition de la position de l'auditeur voir audio_listener_position ).

Vous pouvez également définir une distance de chute (0 signifie que le son est silencieux, la valeur par défaut est 100), ce qui fait disparaître le son à mesure qu'il s'éloigne de la position de l'auditeur. La façon dont le fondu se fait entendre dépendra de la référence d'atténuation (qui est la distance sous laquelle le volume de la source devrait normalement chuter de moitié) et du facteur d'atténuation (qui affecte le son après la distance de référence d'atténuation seulement). Le facteur par défaut est normalement 1, et l'effet des différentes valeurs d'atténuation dépendra du modèle choisi (pour un guide complet des différents modèles d'atténuation et comment ces valeurs sont utilisées, veuillez voir la fonction audio_falloff_set_model ).

Les deux derniers arguments sont de mettre le son en boucle ou non et, finalement, d'assigner une priorité au son. Cette priorité est ensuite utilisée pour déterminer comment les sons sont traités lorsque le nombre de sons joués dépasse la limite définie par la fonction audio_channel_num. Les sons de priorité inférieure seront arrêtés en faveur de sons de priorité plus élevée, et la valeur de priorité peut être n'importe quel nombre réel (la valeur réelle est arbitraire, et peut être GameMaker Studio 2 entre 0 et 1 ou 0 à 100, car GameMaker Studio 2 donnera la même priorité. ).

Cette fonction renvoie un numéro d'index unique pour le son en cours de lecture qui peut ensuite être stocké dans une variable de sorte que vous pouvez ensuite le mettre en pause ou l'arrêter avec les fonctions appropriées. Cela signifie que si vous avez plusieurs instances du même son à la fois, vous pouvez cibler une seule occurrence de ce son pour traiter les fonctions audio.


Syntaxe:

audio_play_sound_at(index, x, y, z, falloff_ref, falloff_max, falloff_factor, loop, priority);


Argument La description
index L'indice du son à jouer.
x La position x.
y La position y
z La position z.
falloff_ref La référence d'atténuation par rapport à l'auditeur (pince).
falloff_max La distance d'atténuation maximale par rapport à l'auditeur.
falloff_factor Le facteur d'atténuation (par défaut 1).
loop Marque le son en boucle ou non.
priority Définissez la priorité du canal pour le son.


Résultats:

Index


Exemple:

if global.SFX
   {
   audio_play_sound_at(snd_Waterfall, x, y, 0, 100, 300, 1, true, 1);
   }

Le code ci-dessus vérifie la variable globale "SFX" et si elle retourne true alors le son indexé dans la variable "snd_Waterfall" sera bouclé à sa position de pièce, avec une référence de chute de 100, une distance de coupure de 300, un facteur de réduction de 1 et une priorité basse.