# # 画面を切り替えずにバトル(Ver 2.0) # メインスクリプト  :(C)2005 桜雅 在土 # 不具合修正・機能拡張:(C)2006,2007 TYPE74RX-T # #============================================================================== # ■ Game_Temp #------------------------------------------------------------------------------ #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン # スタンスは $game_temp で参照されます。 #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias rx_rgsss1_initialize initialize def initialize # メソッドを呼び戻す rx_rgsss1_initialize # ★ 戦闘背景色調変更の内容を初期化 @rx_battle_back_tone = Tone.new(0, 0, 0, 0) end #-------------------------------------------------------------------------- # ★ 戦闘背景色調変更フラグの設定 #-------------------------------------------------------------------------- def rx_change_battle_back_tone=(switch) @rx_change_battle_back_tone = switch end #-------------------------------------------------------------------------- # ★ 戦闘背景色調変更フラグ #-------------------------------------------------------------------------- def rx_change_battle_back_tone return @rx_change_battle_back_tone end #-------------------------------------------------------------------------- # ★ 戦闘背景色調変更の内容 #-------------------------------------------------------------------------- def rx_battle_back_tone return @rx_battle_back_tone end end #============================================================================== # ■ Spriteset_Map #------------------------------------------------------------------------------ #  マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは # Scene_Map クラスの内部で使用されます。 #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- # ★ 公開インスタンス変数定義 attr_accessor の代用:tilemap # attr_accessor :tilemap としてしまっても良い。 #-------------------------------------------------------------------------- def tilemap return @tilemap end end #============================================================================== # ■ Spriteset_Battle #============================================================================== class Spriteset_Battle #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias x_update update def update unless $BTEST $game_temp.battleback_name = "" end # 呼び戻す x_update end end #============================================================================== # ■ Interpreter (分割定義 1) #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ # スや Game_Event クラスの内部で使用されます。 #============================================================================== class Interpreter #-------------------------------------------------------------------------- # ★ 注釈 #-------------------------------------------------------------------------- alias rx_rgsss1_command_108 command_108 def command_108 # 戦闘背景の色調を変更 if @parameters[0].include?("戦闘背景色調変更") # 文字列から数字の文字列のみを抽出 param = @parameters[0].scan(/[\d\-]+/) # 変更する戦闘背景の色調をセット $game_temp.rx_battle_back_tone.set(param[1].to_i, param[2].to_i, param[3].to_i, param[4].to_i) # 戦闘背景色調変更フラグを立てる $game_temp.rx_change_battle_back_tone = true # 継続(競合対策) return true end # メソッドを呼び戻す rx_rgsss1_command_108 end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias x_main main def main unless $BTEST # スプライトセットを作成 @spriteset_map = Spriteset_Map.new # 戦闘背景色調変更フラグが立っていれば if $game_temp.rx_change_battle_back_tone # 戦闘背景の色調を変更 @spriteset_map.tilemap.viewport.tone = $game_temp.rx_battle_back_tone end # 呼び戻す x_main # 開放 @spriteset_map.dispose else x_main end end end