Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: [XP] Afficher le nom de la map. Mar 21 Avr 2009 - 15:03 | |
| Script permettant d'afficher le nom d'une map lorsque vous y entrer. Auteur: Danny Coulombe Source: Rpg Maker Online A placer au dessus de Main, nommez-le "Window_Map_Name". - Code:
-
#============================================================================== # ¡ Window_Map_Name #------------------------------------------------------------------------------ class Window_Map_Name < Window_Base attr_accessor :text
#-------------------------------------------------------------------------- # œ ƒIƒuƒWƒFƒNƒg‰Šú #-------------------------------------------------------------------------- def initialize super(8, -8, 640, 64) self.contents = Bitmap.new(self.width - 32, self.height - 32) self.contents.font.name = "Arial" @align = 1 @showing_time = -1 @text_color = Color.new(255, 255, 0, 255) end #-------------------------------------------------------------------------- # #-------------------------------------------------------------------------- def set_text(text, align = 2) if text != @text or align != @align @text = text @align = align if text.empty? or text =~ /^\./ @showing_time = -1 self.contents_opacity = 0 self.visible = false else @showing_time = 100 self.contents_opacity = 255 self.visible = true self.contents.clear x = 4 y = 0 width = self.contents.width - 8 str = "- "+@text+" -" self.contents.font.color = Color.new( 0, 0, 0, 192) self.contents.draw_text(x+2, y+2, width, 32, str, @align) self.contents.font.color = Color.new( 64, 64, 64, 192) self.contents.draw_text(x-1, y-1, width, 32, str, @align) self.contents.draw_text(x+1, y-1, width, 32, str, @align) self.contents.draw_text(x-1, y+1, width, 32, str, @align) self.contents.draw_text(x+1, y+1, width, 32, str, @align) self.contents.font.color = @text_color self.contents.draw_text(x, y, width, 32, str, @align) end end end #-------------------------------------------------------------------------- # œ Ä•`‰æ #-------------------------------------------------------------------------- def update return if @showing_time < 0 @showing_time -= 1 if @showing_time < 16 self.contents_opacity = @showing_time * 16 if @showing_time == 0 self.visible = false self.contents.clear return end end end end #============================================================================== # ¡ Scene_Map #============================================================================== class Scene_Map def initialize_map_name_window(text = nil) if @map_name_window.nil? @map_name_window = Window_Map_Name.new @map_name_window.opacity = 0 @map_name_window.text = text if not text.nil? end end #-------------------------------------------------------------------------- # œ ƒƒCƒ“ˆ— #-------------------------------------------------------------------------- alias xrxs20_main main def main initialize_map_name_window xrxs20_main @map_name_window.dispose end #-------------------------------------------------------------------------- # œ ƒtƒŒ[ƒ€XV #-------------------------------------------------------------------------- alias xrxs20_update update def update @map_name_window.set_text($game_map.name) @map_name_window.update xrxs20_update end end #============================================================================== # ¡ Scene_Title #============================================================================== class Scene_Title alias xrxs20_main main def main $map_infos = load_data("Data/MapInfos.rxdata") for key in $map_infos.keys $map_infos[key] = $map_infos[key].name end xrxs20_main end end #============================================================================== # ¡ Game_Map #============================================================================== class Game_Map def name $map_infos[@map_id] end end #============================================================================== # ¡ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # œ ƒƒCƒ“ˆ— #-------------------------------------------------------------------------- alias xrxs20_main main def main xrxs20_main if $scene.is_a?(Scene_Map) and (not XRXS20_Config::SCENE_BATTLE_TO_SCENE_MAP) $scene.initialize_map_name_window($game_map.name) end end end |
|