Croisé Lv.14
Age : 34 Inscrit le : 03/03/2009 Messages : 1141
| Sujet: [VX] Menu amélioré Sam 27 Fév 2010 - 19:21 | |
| Nom Original du script : Actor_Enhanced
Auteurs : Commencé par Asdren, terminé par SojaBird
script :
- Code:
-
#################################################################### # Actor_Enhanced v1.0 # # By: SojaBird and Asdren # Discription: With this script, your menu gets a awsome new look! # ####################################################################
#============================================================================== # ** Actor_Window #------------------------------------------------------------------------------ # This class creates a single-actor informationwindow in the menu. #==============================================================================
class Actor_Window < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate # actor: actor number #-------------------------------------------------------------------------- def initialize(actor, x, y) super(x, y, 272, 120) @actor = actor refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.clear @offset = (@actor - 1) * 96 @item_max = $game_party.members.size for actor in $game_party.members draw_actor_face(actor, 2, actor.index * 96 + 2 - @offset, 90) x = 104 y = actor.index * 96 + WLH / 2 draw_actor_name(actor, x + 16, y - @offset) draw_actor_state(actor, x, y + WLH * 2 - @offset) draw_actor_hp(actor, x + 16, y + WLH * 1 - @offset) draw_actor_mp(actor, x + 16, y + WLH * 2 - @offset) end end end
#============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # This class performs the menu screen processing. #==============================================================================
class Scene_Menu < Scene_Base alias old_terminate terminate #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start @party_size = $game_party.members.size super create_menu_background create_command_window @gold_window = Window_Gold.new(360, 0) @status_window = Window_MenuStatus.new(200, 0) @actor1_window = Actor_Window.new(1,0,175)if @party_size >= 1 @actor2_window = Actor_Window.new(2,0,296) if @party_size >= 2 @actor3_window = Actor_Window.new(3,272,175) if @party_size >= 3 @actor4_window = Actor_Window.new(4,272,296) if @party_size >= 4 end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate old_terminate @actor1_window.dispose if @party_size >= 1 @actor2_window.dispose if @party_size >= 2 @actor3_window.dispose if @party_size >= 3 @actor4_window.dispose if @party_size >= 4 end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @gold_window.update @status_window.update @actor1_window.update if @party_size >= 1 @actor2_window.update if @party_size >= 2 @actor3_window.update if @party_size >= 3 @actor4_window.update if @party_size >= 4 if @command_window.active update_command_selection elsif @status_window.active update_actor_selection end end end
#============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # This window displays party member status on the menu screen. #==============================================================================
class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) @party_size = $game_party.members.size super(x, y, 130, 24 * @party_size + 32) refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.members.size for actor in $game_party.members x = 8 y = actor.index * 23 + WLH / 15 draw_actor_name(actor, x, y) end end #-------------------------------------------------------------------------- # * Update cursor #-------------------------------------------------------------------------- def update_cursor if @index < 0 # No cursor self.cursor_rect.empty elsif @index < @item_max # Normal self.cursor_rect.set(0, @index * 24, contents.width, 24) elsif @index >= 30 # Self self.cursor_rect.set(0, (@index - 30) * 24, contents.width, 24) else # All self.cursor_rect.set(0, 0, contents.width, @item_max * 24) end end end
Rendu In Game
Installation : A mettre au dessus de Main dans Matérials Condition de partage et d'utilisation des auteurs : Leur nom doit configurer dans vos crédits. |
|