#============================================================================== # ■ DAIpage様スクリプト「fps変更」RGSS3化+α Ver1.02 by 星潟 #------------------------------------------------------------------------------ # DAIpage様で配布されているRGSS2「fps変更」スクリプトを # RPGツクールVXAceで使用可能にしつつ # ゲーム中でFPSを3段階(30,60,120)で変更する機能を追加します。 # このスクリプト単体では正常に動作しません。 # DAIpage様で配布されている「fps変更」スクリプトが # 前提スクリプトとして必要です。 # # 以下、イベントコマンドのスクリプトで設定 # fps30にしたい時 fps_mode_change(0) # fps60にしたい時 fps_mode_change(1) # fps120にしたい時 fps_mode_change(2) # # Ver1.01 タイマーの仕様を修正 # Ver1.02 プレイ時間の仕様を修正 #============================================================================== module FPSC #デフォルトのFPSを設定します。 #(元スクリプトの設定は無視されます) D_FPS = 60 #FPS120設定の時、ウェイトやフェードインを #FPS60の速度で実行するか否かを設定します。 EXTRA = true end class << Graphics def rate data = $game_party != nil ? ($game_party.fps_rate) : 60 return 60.00 / data end alias wait_fps wait def wait(duration) return wait_fps(duration * rate) if rate < 1 && FPSC::EXTRA return wait_fps(duration) end alias fadeout_fps fadeout def fadeout(duration) return fadeout_fps(duration * rate) if rate < 1 && FPSC::EXTRA return fadeout_fps(duration) end alias fadein_fps fadein def fadein(duration) return fadein_fps(duration * rate) if rate < 1 && FPSC::EXTRA return fadein_fps(duration) end alias transition_fps transition def transition(duration=10, filename="", vague=40) return transition_fps(duration * rate, filename, vague) if rate < 1 && FPSC::EXTRA return transition_fps(duration, filename, vague) end end class Scene_Map < Scene_Base alias start_fps start def start Graphics.frame_rate = 60.0 / Graphics.rate start_fps end end class Scene_Title < Scene_Base alias start_fps start def start $game_party.fps_rate = FPSC::D_FPS Graphics.frame_rate = 60.0 / Graphics.rate start_fps end end class Game_System alias playtime_fps playtime def playtime playtime_fps / Graphics.rate end end class Game_Party < Game_Unit attr_accessor :fps_rate def fps_rate @fps_rate = FPSC::D_FPS if @fps_rate == nil return @fps_rate end end class Game_Timer alias sec_fps sec def sec sec_fps / Graphics.rate end end class Game_Interpreter def command_124 if @params[0] == 0 # 始動 $game_timer.start(@params[1] * Graphics.frame_rate * Graphics.rate) else # 停止 $game_timer.stop end end def fps_mode_change(n) return if n < 0 or n > 4 case n when 0 $game_party.fps_rate = 30 when 1 $game_party.fps_rate = 60 when 2 $game_party.fps_rate = 120 end Graphics.frame_rate = 60.0 / Graphics.rate end alias game_data_operand_fps game_data_operand def game_data_operand(type, param1, param2) data = game_data_operand_fps(type, param1, param2) data /= Graphics.rate if type == 7 && param1 == 4 return data end end