#============================================================================== # ■ XP-RGSS-1 メニューバトラー表示 [Ver.2.0.0] by Claimh #------------------------------------------------------------------------------ # ・メニュー画面にホコグラではなくバトラーを表示させます #============================================================================== module MunuBattler # 表示形式(0:Type-A/1:Type-B/2:Type-C) MENU_TYPE = 1 # バトラーの不透明度(0〜255) B_OPACITY = 160 end class Window_Base #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def draw_battler_graphic(actor, x, y) battler=RPG::Cache.battler(actor.battler_name, actor.battler_hue) w = battler.width h = battler.height rect = Rect.new(0, 0, w,h) self.contents.blt(x-w/2, y-h/2, battler, rect,MunuBattler::B_OPACITY) end end class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # ● リフレッシュ 【再定義】 #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 64 y = i * 116 actor = $game_party.actors[i] case MunuBattler::MENU_TYPE when 0 refresh_type_a(actor, i, x, y) when 1 refresh_type_b(actor, i, x, y) when 2 refresh_type_c(actor, i, x, y) else p "MENU_TYPE:指定エラー" end end end #-------------------------------------------------------------------------- # ● Type-A リフレッシュ #-------------------------------------------------------------------------- def refresh_type_a(actor, i, x, y) draw_battler_graphic(actor, x, y + 90 - i * 22) draw_actor_name(actor, x, y) draw_actor_class(actor, x + 144, y) draw_actor_level(actor, x, y + 32) draw_actor_state(actor, x + 90, y + 32) draw_actor_exp(actor, x, y + 64) draw_actor_hp(actor, x + 236, y + 32) draw_actor_sp(actor, x + 236, y + 64) end #-------------------------------------------------------------------------- # ● Type-B リフレッシュ #-------------------------------------------------------------------------- def refresh_type_b(actor, i, x, y) if (i % 2) == 0 draw_battler_graphic(actor, x - 5, y + 90 - i * 22) draw_actor_name(actor, x+50, y) draw_actor_class(actor, x + 194, y) draw_actor_level(actor, x+50, y + 32) draw_actor_state(actor, x + 130, y + 32) draw_actor_exp(actor, x+50, y + 64) draw_actor_hp(actor, x + 236, y + 32) draw_actor_sp(actor, x + 236, y + 64) else draw_battler_graphic(actor, x +315, y + 90 - i * 22) draw_actor_name(actor, x-60, y) draw_actor_class(actor, x +84, y) draw_actor_level(actor, x-60, y + 32) draw_actor_state(actor, x + 30, y + 32) draw_actor_exp(actor, x-60, y + 64) draw_actor_hp(actor, x +136, y + 32) draw_actor_sp(actor, x +136, y + 64) end end #-------------------------------------------------------------------------- # ● Type-C リフレッシュ #-------------------------------------------------------------------------- def refresh_type_c(actor, i, x, y) draw_battler_graphic(actor, x +315, y + 90 - i * 22) draw_actor_name(actor, x-60, y) draw_actor_class(actor, x +84, y) draw_actor_level(actor, x-60, y + 32) draw_actor_state(actor, x + 30, y + 32) draw_actor_exp(actor, x-60, y + 64) draw_actor_hp(actor, x +136, y + 32) draw_actor_sp(actor, x +136, y + 64) end end