Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: [XP]Menu A-RPG Dim 19 Fév 2012 - 19:17 | |
| Bonjour. Auteur : Inconnu, Correction : Mat Copier ce script en dessous de Scene_Menu et au dessus de main. - Code:
-
#=============================================================================== # ■ Menu pour A-RPG #------------------------------------------------------------------------------- # Auteur : Inconnu # Correction et optimisation : Mat # Version : 1.0 # Date : 26/05/2009 #------------------------------------------------------------------------------- # Menu basique pour A-RPG, n'affichant que les informations du premier joueur. #===============================================================================
#=============================================================================== # ▼ Scene_Menu #=============================================================================== class Scene_Menu #============================================================================= # ● main #============================================================================= def main @spriteset = Spriteset_Map.new s1 = " Objets" s2 = "Sauvegarder" s3 = " Charger" s4 = " Quitter" @command_window = Window_Command.new(160, [s1, s2, s3, s4]) @command_window.index = @menu_index @command_window.x = 240 @command_window.y = 41 if $game_party.actors.size == 0 @command_window.disable_item(0) end if $game_system.save_disabled @command_window.disable_item(1) end @playtime_window = Window_PlayTime.new @playtime_window.x = 410 @playtime_window.y = 200 @steps_window = Window_Steps.new @steps_window.x = 240 @steps_window.y = 330 @gold_window = Window_Gold.new @gold_window.x = 70 @gold_window.y = 200 @status_window = Window_MenuStatus.new @status_window.x = 230 @status_window.y = 200 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @playtime_window.dispose @steps_window.dispose @gold_window.dispose @status_window.dispose @spriteset.dispose end
#============================================================================= # ● update #----------------------------------------------------------------------------- # Ajout de la mise à jour du Spriteset_Map #============================================================================= alias arpg_menu_update update def update @spriteset.update arpg_menu_update end #============================================================================= # ● update_command #----------------------------------------------------------------------------- # Mise à jour de la fenetre de commande #============================================================================= def update_command if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) if $game_party.actors.size == 0 and @command_window.index < 4 $game_system.se_play($data_system.buzzer_se) return end case @command_window.index when 0 $game_system.se_play($data_system.decision_se) $scene = Scene_Item.new when 1 if $game_system.save_disabled $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) $scene = Scene_Save.new when 2 $game_system.se_play($data_system.decision_se) $scene = Scene_Load_From_Menu.new when 3 $game_system.se_play($data_system.decision_se) $scene = Scene_End.new end return end end end
#=============================================================================== # ▼ Scene_Save #------------------------------------------------------------------------------- # Modification de l'index de retour sur le menu #=============================================================================== class Scene_Save #============================================================================= # ● update #============================================================================= def on_decision(filename) $game_system.se_play($data_system.save_se) file = File.open(filename, "wb") write_save_data(file) file.close if $game_temp.save_calling $game_temp.save_calling = false $scene = Scene_Map.new return end $scene = Scene_Menu.new(1) end #============================================================================= # ● on_cancel #============================================================================= def on_cancel $game_system.se_play($data_system.cancel_se) if $game_temp.save_calling $game_temp.save_calling = false $scene = Scene_Map.new return end $scene = Scene_Menu.new(1) end end
#=============================================================================== # ▼ Scene_Load_From_Menu #------------------------------------------------------------------------------- # Modification de l'index de retour sur le menu #=============================================================================== class Scene_Load_From_Menu < Scene_Load #============================================================================= # ● on_cancel #============================================================================= def on_cancel $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new(2) end end
#=============================================================================== # ▼ Scene_End #------------------------------------------------------------------------------- # Modification de l'index de retour sur le menu #=============================================================================== class Scene_End #============================================================================= # ● update #============================================================================= def update @command_window.update if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new(3) return end if Input.trigger?(Input::C) case @command_window.index when 0 command_to_title when 1 command_shutdown when 2 command_cancel end return end end
#============================================================================= # ● command_cancel #============================================================================= def command_cancel $game_system.se_play($data_system.decision_se) $scene = Scene_Menu.new(3) end end
#=============================================================================== # ▼ Window_MenuStatus #------------------------------------------------------------------------------- # Modification de l'initialisation de la fenetre ainsi que de son contenu #=============================================================================== class Window_MenuStatus < Window_Selectable #============================================================================= # ● initialize #============================================================================= def initialize super(0, 0, 180, 130) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh self.active = false self.index = -1 end #============================================================================= # ● refresh #============================================================================= def refresh self.contents.clear @item_max = $game_party.actors.size x = 64 y = 0 actor = $game_party.actors[0] draw_actor_graphic(actor, x - 40, y + 70) draw_actor_name(actor, x, y + 20) self.contents.draw_text(x - 55, 42, 120, 32, "PV:" + actor.hp.to_s, 2) end end Un petit screen pour vous montrer ce que ça donne : |
|
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [XP]Menu A-RPG Dim 19 Fév 2012 - 19:43 | |
| Merci du partage, bien que je n'aime pas vraiment. |
|
Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: Re: [XP]Menu A-RPG Dim 19 Fév 2012 - 19:49 | |
| A certains ça peut plaire et à d'autres non.
Je suppose que le script est plus pour le pratique que pour le visuel car quand tu es dans un a-rpg tu as plus besoin d'un petit menu pour aller plus vite. |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Menu A-RPG Dim 19 Fév 2012 - 20:19 | |
| Pas forcément ... la vitesse est un peu useless, puisqu'au final le menu mes le jeu en pause.
Sauf si bien sur ce script permet d'éviter les pause. |
|
Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: Re: [XP]Menu A-RPG Dim 19 Fév 2012 - 22:54 | |
| Ce que je veux dire c'est que il y a moins d'options donc on va plus vite pour naviguer entre les fenêtres mais bon, chacun fait comme il veut. |
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [XP]Menu A-RPG Dim 19 Fév 2012 - 22:57 | |
| Ca va vite de virer des options. Personnellement, j'avais un projet ou j'avais virer l'option quitter et l'option équipement. |
|
Creme brulée Chevalier Mage (niveau 4)
Messages postés : 465 Date d'inscription : 04/02/2012 Jauge LPC :
| Sujet: Re: [XP]Menu A-RPG Lun 20 Fév 2012 - 18:34 | |
| ouaih mais bon, là ça fait un peu plus alléger, mais bon on fait comme on veut, pas obligation de le prendre ^^ |
|
Contenu sponsorisé
| Sujet: Re: [XP]Menu A-RPG | |
| |
|