Sansonic Auguste Polichinelle
Nombre de messages : 1116 Age : 31 Projet(s) en cours : ... Niveau Rpg Maker : jugez !... Date d'inscription : 28/07/2007
| Sujet: [RGSS2][VX] SE perçut avec un effet 3D Mar 13 Avr 2010, 00:59 | |
| SE perçut avec un effet 3D
SE=Sounds Effects ou en français Effets sonores (comme les gouttes d'eaux ou la pluie dans RM) Voici un script qui est très original je trouve, surtout lorsque l'on souhaite faire un jeu amateur d'aventure et d'énigme novateur. Auteur: VincentmhdUtilisation
- Vincentmhd a écrit:
- Il suffit d'appeler un script en event ou dans la
trajectoire du personnage:
space_Sound_play(name,volume,picht, chance, r_max, x, y)
name est le nom du son. (le mettre entre guillemets) volume est le volume à l'origine. picht est le ton ou la tonalité. chance est le pourcentage de chance que le son soit joué. r_max est le rayon maximal de propagation au-delà de cette distance le son est inaudible. x et y sont les coordonnées de l'origine. (si appelée dans le déplacement d'un personnage, les coordonnées par défaut sont les coordonnées du personnage en question) Démo: Exclusivement pour les fainéants - Code:
-
#=============================================================================== # # # 3D SE.v1 # # #=============================================================================== # #By Vincentmhd #http://vincentmhdmaker.canalblog.com/ # # # # # # #=====================================NOTE====================================== # #Ce script permet d'adapter le volume des sons joués par un event en fonction de #sa distance avec le player. #La dégression du son est linéaire. # #pour jouer un son faire l'appel de script suivant: #space_Sound_play(nom du son,volume à l'origine, tonalité, rayon maximal, x de #la source, y de la source) #------------------------------------------------------------------------------ module RPG class SE alias mhd_play play def play(x=0, y=0, r_max=0) #r_max est le rayon maximal où l'on peut entendre le son #x et y sont les coordonnées de l'origine du son
if (r_max != 0) #il est impossible que le sons n'est pas de rayon, #sauf si c'est le même volume partout #Calcul de la distance par rapport à l'event, #ramené en pourcentage par rapport au r_max. dx= Math.sqrt(($game_player.real_x - x*256)*($game_player.real_x - x*256) + ($game_player.real_y - y*256)*($game_player.real_y - y*256)) dx = (100*dx/(r_max*256)) if (dx > 100) #si le player est trop loin alors on entend rien @volume = 0 else #sinon on utilise le pourcentage sur le volume à l'origine #pour avoir le volume à la position du player. @volume = 100 - dx end end mhd_play end end end
class Game_Interpreter
def space_Sound_play(name,volume,picht, chance =100, r_max =0, x =0, y =0) if rand(100)<=chance sound=RPG::SE.new(name,volume,picht) sound.play(x,y,r_max) end end end
class Game_Character def space_Sound_play(name,volume,picht, chance =100, r_max =0, x =@x, y =@y) if rand(100)<=chance sound=RPG::SE.new(name,volume,picht) sound.play(x,y,r_max) end end end
| |
|
Pseudo Fou du Roi
Nombre de messages : 935 Date d'inscription : 26/02/2007
| Sujet: Re: [RGSS2][VX] SE perçut avec un effet 3D Mar 13 Avr 2010, 10:11 | |
| Tiens alors ça c'est original ! Très bonne idée du scripteur, à condition de ne pas être réglé en mono. :p
+1 PA. | |
|