#****************************************************************************** # # * 割り込みシーン # # -------------------------------------------------------------------------- # バージョン : 1.0.1 # 対 応 : RPGツクールVX : RGSS2 # 制 作 者 : CACAO # 配 布 元 : https://cacaosoft.mars.jp/ # -------------------------------------------------------------------------- # == 概  要 == # # : メインのシーンとは別のシーンを作成・実行する機能を追加します。 # # -------------------------------------------------------------------------- # == 使用方法 == # # ★ クラス定義 # Scene_Interrupt を継承したクラスを定義します。 # 基本的には Scene_Base とかわりません。 # Scene_Interrupt#new の結果は、インスタンスではなく # 実行結果(@@result)が返ります。 # # @exit の値を true にすると、割り込みを終了して元の処理に戻ります。 # 終了前に @@result の値を変更しておくと実行結果として取得できます。 # 初期値は nil です。 # # Scene_Interrupt::WINDOW_Z は、スプライトのクラスのz座標です。 # 割り込みシーンで使用する Sprite や Window は、この値を基準とします。 # # ★ 割り込みシーンの処理を開始する。 # result = Scene_○○.new のように開始します。 # new の戻り値が返るときには、処理はすべて終わっているので # 外部からシーンの操作を行うことはできません。 # # ※ 実行結果の取得にクラス変数を使用しているため、割り込み処理を # ネストする際などには、ご注意ください。 # # #****************************************************************************** #/////////////////////////////////////////////////////////////////////////////# # # #  このスクリプトに設定項目はありません。    # # # #/////////////////////////////////////////////////////////////////////////////# class Scene_Interrupt < Scene_Base #-------------------------------------------------------------------------- # ● 定数 #-------------------------------------------------------------------------- WINODW_Z = 9999 # z座標 #-------------------------------------------------------------------------- # ● オブジェクトの作成 #-------------------------------------------------------------------------- def self.new(*argv) super return @@result # 処理結果を返す end #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize @exit = false # 処理の終了フラグ @@result = nil # 処理結果 main end #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- def main start # 開始処理 perform_transition # トランジション実行 post_start # 開始後処理 Input.update # 入力情報を更新 loop do Graphics.update # ゲーム画面を更新 Input.update # 入力情報を更新 update # フレーム更新 break if @exit # 処理が終わったらループを中断 end Graphics.update pre_terminate # 終了前処理 terminate # 終了処理 Input.update # 入力情報を更新 end #-------------------------------------------------------------------------- # ● 元の画面へ戻る #-------------------------------------------------------------------------- def return_scene @exit = true end #-------------------------------------------------------------------------- # ● メニュー画面系の背景作成 # 中断前の画面の上から処理するため、必ずしも必要ではない。 #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = $game_temp.background_bitmap @menuback_sprite.color.set(16, 16, 16, 128) @menuback_sprite.z = WINODW_Z update_menu_background end end