#============================================================================== # ■ VXAce-RGSS3-17 タイトルカスタマイズ [EvDemo] by Claimh #------------------------------------------------------------------------------ # タイトル表示前後にイベントによるデモンストレーションを表示します。 #------------------------------------------------------------------------------ # ●セクション # タイトルカスタマイズより下に配置して下さい。 #------------------------------------------------------------------------------ # ●イベントからタイトルに戻る場合は以下の実行してください # SceneManager.scene.return_scene #------------------------------------------------------------------------------ # ●注意事項 # ・メッセージの自動送りは行いません # ・デモのイベント内で操作したスイッチ、変数等の変更はゲーム内には継承しません # ・デモ中にTitle.skip_trigger?内のボタンが押された場合はスキップします # ・動画再生を行った場合、動画再生中はスキップできません #============================================================================== module Title::EvDemo # トランジション(nil:画像なし) DEMO_TRN = nil #"Graphics/System/cc_transition2" # 表示するマップID D_MAP_ID = 3 # 表示するマップ位置(Rect#width/heightは未参照) D_MAP_POS = Rect.new(8, 13, 0, 0) # 表示するタイミング # 0..タイトル前 # 1..タイトル後(タイムアウト時) # 2..タイトル前後 D_SHOW = 2 end #============================================================================== # ■ Title::Scene #============================================================================== module Title::Scene #-------------------------------------------------------------------------- # ● イベントシーンの有無 #-------------------------------------------------------------------------- def self.enable_demo(timeout=false) case Title::EvDemo::D_SHOW when 0; return !timeout when 1; return timeout when 2; return true end false end end class Scene_EvDemo < Scene_Base include Title::EvDemo #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super prepare end #-------------------------------------------------------------------------- # ● 準備 #-------------------------------------------------------------------------- def prepare(timeout=false) @timeout = timeout end #-------------------------------------------------------------------------- # ● トランジション実行 #-------------------------------------------------------------------------- def perform_transition DEMO_TRN.nil? ? super : Graphics.transition(transition_speed, DEMO_TRN) end #-------------------------------------------------------------------------- # ● トランジション速度の取得 #-------------------------------------------------------------------------- def transition_speed return 20 end #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- def start super create_message_window create_scroll_text_window DataManager.create_game_objects $game_map.setup(D_MAP_ID) $game_map.autoplay $game_player.moveto(D_MAP_POS.x, D_MAP_POS.y) @spriteset = Spriteset_TitleMap.new end #-------------------------------------------------------------------------- # ● メッセージウィンドウの作成 #-------------------------------------------------------------------------- def create_message_window @message_window = Window_Message.new end #-------------------------------------------------------------------------- # ● スクロール文章ウィンドウの作成 #-------------------------------------------------------------------------- def create_scroll_text_window @scroll_text_window = Window_ScrollText.new end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update super @spriteset.update return_scene if Title.skip_trigger? end #-------------------------------------------------------------------------- # ● 呼び出し元のシーンへ戻る #-------------------------------------------------------------------------- def return_scene super fadeout_all $game_map.screen.clear @spriteset.update_pictures Graphics.update SceneManager.scene.prepare(Title::Scene::S_DEMO, @timeout) end end