Après maintes reflextions et de regardation(je sais ce ne ce dis pas^^) J'ai pu constater que le Ruby c'est supra simple !!!!
Si vous connaissez RPG Maker XP sur le bout des doigts et bien en fait c'est la même chose que les event mais plus compliqué a première vu !
Donc après quels bidouiages j'ai réussi a implanter un nouveau choix dans le Scene_Title (l'écran titre)
Il s'agit d'écouter la musique !!!!!
Pour le moment j'en ai implenter que 3 mais vous pouvez en rajouter bien plus !!!!(tant que ça ne déborde pas !)
Donc voici le script nommez le Ma_Scene au dessus de main :
- Code : Tout sélectionner
class Ma_Scene
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def main
s1 = "Musique Combat"
s2 = "Musique Terrain"
s3 = "Musique Boss"
s4 = "Retour Menu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4])
@command_window.index = @menu_index
@command_window.x = 200
@command_window.y = 200
Graphics.transition
# ??????
loop do
# ????????
Graphics.update
# ???????
Input.update
# ??????
update
# ????????????????
if $scene != self
break
end
end
# ?????????
Graphics.freeze
# ????????
@command_window.dispose
end
def update
# ????????
@command_window.update
if @command_window.active
update_command
return
end
end
def update_command
# B ??????????
if Input.trigger?(Input::B)
# ????? SE ???
$game_system.se_play($data_system.cancel_se)
# ??????????
$scene = Scene_Title.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0 # ????
# ?? SE ???
$game_system.se_play($data_system.decision_se)# Joue le son qui a été paramétré dans la base de donnée
# ???????????
Audio.bgm_play("Audio/BGM/001-Battle01.mid",100,100) #Execute la musique
when 1 # ???
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
Audio.bgm_play("Audio/BGM/018-Field01.mid",100,100)
when 2 # ??
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
Audio.bgm_play("Audio/BGM/005-Boss01.mid",100,100)
when 3
$game_system.se_play($data_system.decision_se)
$game_system.bgm_play($data_system.title_bgm)#Joue la musique de l'écren titre
$scene = Scene_Title.new# Reviens a l'écran titre
end
return
end
end
end
Pour rajouter des musiques, il faut modifier plusieurs parties du code. Tout d'abord, dans le Script Ma_scene ligne 11 :
- Code : Tout sélectionner
s1 = "Musique Combat"
s2 = "Musique Terrain"
s3 = "Musique Boss"
s4 = "Retour Menu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4])
Rajoutez un s5,s6,s7 etc...... ou enlevez les comme ça :
s1 = "Musique Combat"
s2 = "Musique Terrain"
s3 = "Musique Boss"
s4 = "Musique Test"
s5 = "Retour Menu"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5])
Ensuite il faut modifier en bas du script ligne 59 :
- Code : Tout sélectionner
if Input.trigger?(Input::C)
case @command_window.index
when 0 # ????
# ?? SE ???
$game_system.se_play($data_system.decision_se)# Joue le son qui a été paramétré dans la base de donnée
# ???????????
Audio.bgm_play("Audio/BGM/001-Battle01.mid",100,100) #Execute la musique
when 1 # ???
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
Audio.bgm_play("Audio/BGM/018-Field01.mid",100,100)
when 2 # ??
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
Audio.bgm_play("Audio/BGM/005-Boss01.mid",100,100)
when 3
$game_system.se_play($data_system.decision_se)
$game_system.bgm_play($data_system.title_bgm)#Joue la musique de l'écren titre
$scene = Scene_Title.new# Reviens a l'écran titre
end
Il faut rajouter un "when" ainsi que son chiffre (exemple si c'est s3 on aura when 2 (ça commence a zéro))
Ensuite le son : $game_system.se_play($data_system.decision_se)
Puis Audio.bgm_play("Audio/BGM/NOM DU FICHIER AUDIO AVEC L'EXTENTION",100,100)
Attention veillez bien a ce que chaque when ets un nombre différent et que les chiffres sont dans l'ordre croissant
Et pour finir cherchez ces lignes dans le script Scene_Titles ligne 37:
- Code : Tout sélectionner
s1 = "Nouvelle partie"
s2 = "Charger une partie"
s3 = "Quitter"
@command_window = Window_Command.new(192, [s1, s2, s3])
et remplacez par :
- Code : Tout sélectionner
s1 = "Nouvelle partie"
s2 = "Charger une partie"
s3 = "Quitter"
s4 = "Ecouter de la musique"
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
Et ces lignes la 96:
- Code : Tout sélectionner
if Input.trigger?(Input::C)
# ???????????????????
case @command_window.index
when 0 # ??????
command_new_game
when 1 # ???????
command_continue
when 2 # ???????
command_shutdown
end
end
Par celles ci :
- Code : Tout sélectionner
if Input.trigger?(Input::C)
# ???????????????????
case @command_window.index
when 0 # ??????
command_new_game
when 1 # ???????
command_continue
when 2 # ???????
command_shutdown
when 3
$scene = Ma_Scene.new
end
end
C'est simple en fait !
On rajoute une commande et si elle est sélectionnée on change de scène !
Il marche parfaitement normalement !
Screens :
Voila
@+ !