Cette fonction peut être utilisée pour donner des effets doppler à l' auditeur donné et simuler un mouvement audio basé sur le vecteur qui est résolu à partir des positions relatives x, y et z données. L'index d'écoute par défaut est 0, mais vous pouvez utiliser la fonction audio_get_listener_info pour obtenir les différents indices disponibles pour la plate-forme cible.
Si l'auditeur ne bouge jamais, ou si le mouvement n'est pas un mouvement constant, vous n'aurez normalement pas besoin de définir ces valeurs, mais, par exemple, si vous faites un jeu de défilement où le joueur a un fond constant le mouvement du haut et les ennemis un mouvement de haut en bas constant, vous définissez les vitesses d'écoute et d' émetteur (pour les émetteurs que vous utiliseriez audio_emitter_velocity ) aux vecteurs appropriés pour simuler l'effet Doppler correct lorsqu'ils passent devant l'instance du joueur.
L'image ci-dessous montre comment cela pourrait être configuré pour le jeu d'exemple donné ci-dessus:
audio_listener_set_velocity(index, x, y, z);
| Argument | La description |
|---|---|
| index | L'écouteur pour obtenir les données pour (par défaut 0). |
| x | La vélocité x de l'écouteur (par défaut 0). |
| y | La vitesse y de l'écouteur (0 par défaut). |
| z | La vitesse z de l'écouteur (par défaut 0). |
N/A
var num = audio_get_listener_count();
for(var i = 0; i < num; ++i;)
{
var info = audio_get_listener_info(i);
var data = audio_listener_get_data(info[?
"index"]);
if data[? "vx"] != 0
{
audio_listener_set_velocity(info[?
"index"], 0, 0, 0);
}
ds_map_destroy(info);
ds_map_destroy(data);
}
Le code ci-dessus vérifie le nombre d'écouteurs disponibles puis les boucle à travers eux et si leur vitesse x n'est pas 0, il définit leurs valeurs de vélocité à 0, 0, 0.