###################### シーン別ウィンドウスキンの使用 ###################### # # # シーンによってウィンドウスキンを切り替えることが可能になります。 # # フォントカラーなどの変更はできませんので、ご了承ください。 # # # # 戦闘時のアイテムとスキルの使用は戦闘時のスキンか、 # # アイテム、スキルのスキンを継承するかを選択可能です。 # # # ############################################################################ # ここから設定 module Annex # 使用するウィンドウスキンの名前 # 省略した場合(""にした場合)はデフォルトのものを使用する。 TITLE_SKIN = "" # タイトル画面で使用する MAP_SKIN = "" # マップ画面(ほぼメッセージウィンドウ) MENU_SKIN = "" # メニュー ITEM_SKIN = "wskin_g" # アイテム使用画面 SKILL_SKIN = "" # スキル画面 EQUIP_SKIN = "" # 装備画面 STATUS_SKIN = "" # ステータス画面 FILE_SKIN = "" # セーブ / ロード画面 END_SKIN = "" # ゲーム終了選択画面 BATTLE_SKIN = "" # 戦闘画面 SHOP_SKIN = "" # ショップ処理画面 NAME_SKIN = "" # 名前入力画面 # 戦闘画面でアイテム、スキルを使う時に使うウィンドウを変更するか # true : アイテム呼び出し時はSKILL_SKIN、ITEM_SKINを参照して変更する # false : 戦闘時のウィンドウスキンをそのまま使う INHERIT_SKIN = true end # ここまで設定 #============================================================================== # ■ Game_System #============================================================================== class Game_System #-------------------------------------------------------------------------- # ○ ウィンドウスキン ファイル名の取得 #-------------------------------------------------------------------------- alias unique_window_skin_windowskin_name windowskin_name def windowskin_name # タイトル if $scene.is_a?(Scene_Title) and Annex::TITLE_SKIN != "" return Annex::TITLE_SKIN end # マップ if $scene.is_a?(Scene_Map) and Annex::MAP_SKIN != "" return Annex::MAP_SKIN # メニュー elsif $scene.is_a?(Scene_Menu) and Annex::MENU_SKIN != "" return Annex::MENU_SKIN # アイテム elsif $scene.is_a?(Scene_Item) and Annex::ITEM_SKIN != "" return Annex::ITEM_SKIN # スキル elsif $scene.is_a?(Scene_Skill) and Annex::SKILL_SKIN != "" return Annex::SKILL_SKIN # 装備 elsif $scene.is_a?(Scene_Equip) and Annex::EQUIP_SKIN != "" return Annex::EQUIP_SKIN # ステータス elsif $scene.is_a?(Scene_Status) and Annex::STATUS_SKIN != "" return Annex::STATUS_SKIN # セーブ / ロード elsif ($scene.is_a?(Scene_Save) or $scene.is_a?(Scene_Load)) and Annex::FILE_SKIN != "" return Annex::FILE_SKIN # ゲーム終了 elsif $scene.is_a?(Scene_End) and Annex::END_SKIN != "" return Annex::END_SKIN # 戦闘 elsif $scene.is_a?(Scene_Battle) and Annex::BATTLE_SKIN != "" return Annex::BATTLE_SKIN # 名前入力 elsif $scene.is_a?(Scene_Name) and Annex::NAME_SKIN != "" return Annex::NAME_SKIN end # 呼び戻し return unique_window_skin_windowskin_name end end #============================================================================== # ■ Window_Base #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ● フレーム更新 (再定義) #-------------------------------------------------------------------------- def update super # ☆ココから追加 if $game_temp.in_battle and Annex::INHERIT_SKIN return end # ☆ココまで追加 # ウィンドウスキンが変更された場合、再設定 if $game_system.windowskin_name != @windowskin_name @windowskin_name = $game_system.windowskin_name self.windowskin = RPG::Cache.windowskin(@windowskin_name) end end end #============================================================================== # ■ Window_Selectable #============================================================================== class Window_Selectable < Window_Base #-------------------------------------------------------------------------- # ○ ヘルプウィンドウの設定 # help_window : 新しいヘルプウィンドウ #-------------------------------------------------------------------------- alias unique_window_skin_help_window= help_window= def help_window=(help_window) # 呼び戻し self.unique_window_skin_help_window = help_window # ウィンドウスキン変更 if $game_temp.in_battle and Annex::INHERIT_SKIN if self.is_a?(Window_Skill) and Annex::SKILL_SKIN != "" @help_window.set_windowskin(Annex::SKILL_SKIN) elsif self.is_a?(Window_Item) and Annex::ITEM_SKIN != "" @help_window.set_windowskin(Annex::ITEM_SKIN) end end end end #============================================================================== # ■ Window_Help #============================================================================== class Window_Help < Window_Base #-------------------------------------------------------------------------- # ◎追加: ウィンドウスキンの変更 #-------------------------------------------------------------------------- def set_windowskin(windowskin = "") # 空文字列なら初期化 windowskin = $game_system.windowskin_name if windowskin == "" return if @windowskin_name == windowskin @windowskin_name = windowskin self.windowskin = RPG::Cache.windowskin(@windowskin_name) end end #============================================================================== # ■ Window_Skill #============================================================================== class Window_Skill < Window_Selectable #-------------------------------------------------------------------------- # ○ リフレッシュ #-------------------------------------------------------------------------- alias unique_window_skin_refresh refresh def refresh # 呼び戻し unique_window_skin_refresh # ウィンドウスキン変更 if $game_temp.in_battle and Annex::INHERIT_SKIN and Annex::SKILL_SKIN != "" @windowskin_name = Annex::SKILL_SKIN self.windowskin = RPG::Cache.windowskin(@windowskin_name) end end #-------------------------------------------------------------------------- # ◎追加: 可視状態の変更 #-------------------------------------------------------------------------- def visible=(boolean) # 戦闘中でウィンドウスキンを継承している場合 if $game_temp.in_battle and Annex::INHERIT_SKIN # 不可視の間はヘルプウィンドウを戻す。 if boolean == true and Annex::SKILL_SKIN != "" @help_window.set_windowskin(Annex::SKILL_SKIN) end # 可視の間はヘルプウィンドウを設定する。 if boolean == false and Annex::SKILL_SKIN != "" @help_window.set_windowskin end end # 親処理を呼ぶ super end #-------------------------------------------------------------------------- # ◎追加: 解放 #-------------------------------------------------------------------------- def dispose # ヘルプウィンドウを戻す。 @help_window.set_windowskin super end end #============================================================================== # ■ Window_Item #============================================================================== class Window_Item < Window_Selectable #-------------------------------------------------------------------------- # ○ リフレッシュ #-------------------------------------------------------------------------- alias unique_window_skin_refresh refresh def refresh # 呼び戻し unique_window_skin_refresh # ウィンドウスキン変更 if $game_temp.in_battle and Annex::INHERIT_SKIN and Annex::ITEM_SKIN != "" @windowskin_name = Annex::ITEM_SKIN self.windowskin = RPG::Cache.windowskin(@windowskin_name) end end #-------------------------------------------------------------------------- # ◎追加: 可視状態の変更 #-------------------------------------------------------------------------- def visible=(boolean) # 戦闘中でウィンドウスキンを継承している場合 if $game_temp.in_battle and Annex::INHERIT_SKIN # 不可視の間はヘルプウィンドウを戻す。 if boolean == true and Annex::ITEM_SKIN != "" @help_window.set_windowskin(Annex::ITEM_SKIN) end # 可視の間はヘルプウィンドウを設定する。 if boolean == false and Annex::ITEM_SKIN != "" @help_window.set_windowskin end end # 親処理を呼ぶ super end #-------------------------------------------------------------------------- # ◎追加: 解放 #-------------------------------------------------------------------------- def dispose # ヘルプウィンドウを戻す。 @help_window.set_windowskin super end end