class Scene_GameOverSelect < Scene_Base #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- def start super SceneManager.clear Graphics.freeze create_background create_command_window end #-------------------------------------------------------------------------- # ● 背景の作成 #-------------------------------------------------------------------------- def create_background @sprite = Sprite.new @sprite.bitmap = Cache.system("GameOver") end #-------------------------------------------------------------------------- # ● 背景の解放 #-------------------------------------------------------------------------- def dispose_background @sprite.bitmap.dispose @sprite.dispose end #-------------------------------------------------------------------------- # ● トランジション速度の取得 #-------------------------------------------------------------------------- def transition_speed return 20 end #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- def terminate super SceneManager.snapshot_for_background dispose_background end #-------------------------------------------------------------------------- # ● ゲームタイトルの描画 #-------------------------------------------------------------------------- def draw_game_title @foreground_sprite.bitmap.font.size = 48 rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2) @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1) end #-------------------------------------------------------------------------- # ● 背景の解放 #-------------------------------------------------------------------------- def dispose_background @sprite.bitmap.dispose @sprite.dispose end #-------------------------------------------------------------------------- # ● 前景の解放 #-------------------------------------------------------------------------- def dispose_foreground @foreground_sprite.bitmap.dispose @foreground_sprite.dispose end #-------------------------------------------------------------------------- # ● スプライトを画面中央に移動 #-------------------------------------------------------------------------- def center_sprite(sprite) sprite.ox = sprite.bitmap.width / 2 sprite.oy = sprite.bitmap.height / 2 sprite.x = Graphics.width / 2 sprite.y = Graphics.height / 2 end #-------------------------------------------------------------------------- # ● コマンドウィンドウの作成 #-------------------------------------------------------------------------- def create_command_window @command_window = Window_GameOverCommand.new @command_window.set_handler(:load_data0, method(:command_load_data0)) @command_window.set_handler(:continue, method(:command_continue)) @command_window.set_handler(:title, method(:command_title)) end #-------------------------------------------------------------------------- # ● コマンドウィンドウを閉じる #-------------------------------------------------------------------------- def close_command_window @command_window.close update until @command_window.close? end #-------------------------------------------------------------------------- # ● コマンド[ロード] #-------------------------------------------------------------------------- def command_load_data0 if DataManager.load_game_on_memory(0) close_command_window fadeout_all $game_map.autoplay on_load_success $game_map.interpreter.command_115 else Sound.play_buzzer end end #-------------------------------------------------------------------------- # ● コマンド[タイトル] #-------------------------------------------------------------------------- def command_title close_command_window fadeout_all SceneManager.goto(Scene_Title) end #-------------------------------------------------------------------------- # ● コマンド[コンティニュー] #-------------------------------------------------------------------------- def command_continue close_command_window SceneManager.call(Scene_Load) end #-------------------------------------------------------------------------- # ● タイトル画面の音楽演奏 #-------------------------------------------------------------------------- def play_title_music $data_system.title_bgm.play RPG::BGS.stop RPG::ME.stop end #-------------------------------------------------------------------------- # ● ロード成功時の処理 #-------------------------------------------------------------------------- def on_load_success fadeout_all $game_system.on_after_load SceneManager.goto(Scene_Map) end end