#============================================================================== # □ ダミーゲームオーバー (for VX Ace) #------------------------------------------------------------------------------ # Version : 2_20120315 # by サリサ・タイクーン # http://www.tycoon812.com/rgss/ #============================================================================== #============================================================================== # □ 素材スイッチ #============================================================================== $rgsslab = {} if $rgsslab == nil $rgsslab["ダミーゲームオーバー"] = true if $rgsslab["ダミーゲームオーバー"] #============================================================================== # □ カスタマイズポイント #============================================================================== module RGSSLAB end module RGSSLAB::Dummy_Gameover #-------------------------------------------------------------------------- # ○ マップ画面へ戻る際のフェード設定 # 標準は1000です。 # (範囲外は自動で修正されます) #-------------------------------------------------------------------------- TIME = 1000 end # カスタマイズポイントは、ここまで #============================================================================== # □ RGSSLAB::Dummy_Gameover [module] #============================================================================== module RGSSLAB::Dummy_Gameover #-------------------------------------------------------------------------- # ○ 素材設定用の定数定義 #-------------------------------------------------------------------------- MATERIAL_NAME = "ダミーゲームオーバー" VERSION = 2 RELEASE = 20120315 end #============================================================================== # ■ Game_Temp [class] #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :dummy_gameover_use_background #-------------------------------------------------------------------------- # ● オブジェクト初期化 [エイリアス] #-------------------------------------------------------------------------- alias dummy_gameover_initialize initialize def initialize dummy_gameover_initialize @dummy_gameover_use_background = "GameOver" end end #============================================================================== # ■ Game_Interpreter [class] #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ○ ダミーゲームオーバーの呼び出し # file : ダミーゲームオーバー画面で使用する画像ファイル名 #-------------------------------------------------------------------------- def call_dummy_gameover(file = "GameOver") $game_temp.dummy_gameover_use_background = file SceneManager.goto(Scene_Dummy_Gameover) Fiber.yield end end #============================================================================== # □ Scene_Dummy_Gameover [class] #============================================================================== class Scene_Dummy_Gameover < Scene_Base #-------------------------------------------------------------------------- # ○ モジュールの設定 #-------------------------------------------------------------------------- RGSSLAB_100 = RGSSLAB::Dummy_Gameover #-------------------------------------------------------------------------- # ○ 開始処理 [オーバーライド] #-------------------------------------------------------------------------- def start super play_gameover_music fadeout_frozen_graphics create_background end #-------------------------------------------------------------------------- # ○ ゲームオーバー画面の音楽演奏 #-------------------------------------------------------------------------- def play_gameover_music $game_system.save_bgm RPG::BGM.stop RPG::BGS.stop $data_system.gameover_me.play end #-------------------------------------------------------------------------- # ○ 固定済みグラフィックのフェードアウト #-------------------------------------------------------------------------- def fadeout_frozen_graphics Graphics.transition(fadeout_speed) Graphics.freeze end #-------------------------------------------------------------------------- # ○ フェードアウト速度の取得 #-------------------------------------------------------------------------- def fadeout_speed return 60 end #-------------------------------------------------------------------------- # ○ 背景の作成 #-------------------------------------------------------------------------- def create_background @sprite = Sprite.new @sprite.bitmap = Cache.system($game_temp.dummy_gameover_use_background) end #-------------------------------------------------------------------------- # ○ フレーム更新 [オーバーライド] #-------------------------------------------------------------------------- def update super goto_map if Input.trigger?(:C) end #-------------------------------------------------------------------------- # ○ マップ画面へ遷移 #-------------------------------------------------------------------------- def goto_map fadeout_all SceneManager.goto(Scene_Map) end #-------------------------------------------------------------------------- # ○ 各種サウンドとグラフィックの一括フェードアウト [オーバーライド] #-------------------------------------------------------------------------- def fadeout_all time = RGSSLAB_100::TIME if time < 1 time = 1 elsif time > 1000 time = 1000 end RPG::BGM.fade(time) RPG::BGS.fade(time) RPG::ME.fade(time) Graphics.fadeout(time * Graphics.frame_rate / 1000) RPG::BGM.stop RPG::BGS.stop RPG::ME.stop end #-------------------------------------------------------------------------- # ○ 終了処理 [オーバーライド] #-------------------------------------------------------------------------- def terminate super dispose_background $game_system.replay_bgm end #-------------------------------------------------------------------------- # ○ 背景の解放 #-------------------------------------------------------------------------- def dispose_background @sprite.bitmap.dispose @sprite.dispose end end end