❤ 2Nemau Roi of the Suisse Un Event pourra jouer un SE qui sera audible plus ou moins fortement en fonction que le héros se trouve proche de cet Event et à l'intérieur d'un rayon défini.
Hors de ce rayon, le SE ne sera pas audible.
1. Dans l'éditeur de scripts, créez une nouvelle fiche et insérez-y ce code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| module Bruitage
def self.se_local_cercle(fichier_se, volume_max, tempo, event_id, portee)
# Positions des acteurs concernés
joueur_x = $game_player.x
joueur_y = $game_player.y
event_x = $game_map.events[event_id].x
event_y = $game_map.events[event_id].y
# Calculer la distance euclidienne
distance = Math.sqrt((joueur_x - event_x)**2 + (joueur_y - event_y)**2)
if distance <= portee
# Calculer le volume d'après la proximité avec la source :
coef = portee - distance
volume = (((1.00 * volume_max) / portee) * coef).to_i
# Jouer le son :
$game_system.se_play(RPG::AudioFile.new(fichier_se, volume, tempo))
end
end
end |
2. Dans un Event, appelez le bruitage en insérant ce script, puis adaptez-le à vos besoins :
1
| Bruitage.se_local_cercle("nom_du_SE", volume_max, vitesse, @event_id, portee) |
▫ nom_du_SE : le nom du fichier audio (sans l'extension) présent dans le dossier Audio/SE ;
▫ volume_max : le volume auquel le bruitage sera audible au centre du cercle (= 100 maximum) ;
▫ vitesse : la vitesse à laquelle vous voulez que le son soit joué (= 50 à 150) ;
▫ @event_id : entrez le numéro d'identification (ID) de votre Event, ou laissez "@event_id" si l'Event qui exécute le script d'appel est celui qui joue le bruitage ;
▫ portee : le nombre de cases autour de l'Event où le son doit être entendu.
Sur le schéma ci-dessous, vous pouvez voir la zone de diffusion du son autour de l'Event avec un appel dont la portée vaut 3.
|