- #============================================================================== 
- # ★ ロゴ画面表示 [RGSS3] ver.1.22 / by sonic 
- # [url]http://www.liberalcat.com/[/url] 
- #------------------------------------------------------------------------------ 
- # ロゴを表示するスプラッシュ画面を描画するスクリプトです。 
- #============================================================================== 
-   
- module CONF_LOGO 
-   
- #------------------------------------------------------------------------------ 
- # ☆ カスタマイズ項目 
- #------------------------------------------------------------------------------ 
-   
-   # ロゴ表示機能のon/off(機能on:true 機能off:false) 
-   USE_LOGO = true 
-   
-   # リセットした場合のロゴ表示on/off(表示on:true 表示off:false) 
-   RESET_LOGO = false 
-   
-   # テスト時のロゴ表示on/off(表示on:true 表示off:false) 
-   TEST_LOGO = true 
-   
-   # ボタンを押したときのロゴスキップ機能のon/off(機能on:true 機能off:false) 
-   SKIP_LOGO = false 
-   
-   # ロゴとして表示する画像ファイル名 
-   # (Graphics/System/にインポートした画像ファイル名を設定) 
-   FILE_LOGO = "rogo" 
-   
-   # ロゴ表示中のSEまたMEファイル名 
-   # (Audio/SE/またはAudio/ME/にインポートした音楽ファイル名を設定) 
-   # ※SEに該当ファイルがなければMEをチェックし、どちらにも無ければ音無し 
-   MU_LOGO = "GORPG" 
-   
-   # ロゴのフェードイン、フェードアウト速度(フレーム数) 
-   FADE_SPEED_LOGO = 100 
-   
-   # ロゴ表示の長さ(フレーム数) 
-   DISP_FLAME_LOGO = 300 
-   
- #------------------------------------------------------------------------------ 
- # ☆ 終了 
- #------------------------------------------------------------------------------ 
-   
- end 
-   
- #============================================================================== 
- # ■ Scene_Logo 
- #------------------------------------------------------------------------------ 
- #  ロゴスプラッシュの処理を行うクラスです。 
- #============================================================================== 
-   
- class Scene_Logo < Scene_Base 
- #------------------------------------------------------------------------------ 
- # □ 設定値記述部 
- #------------------------------------------------------------------------------ 
-   #-------------------------------------------------------------------------- 
-   # ● 開始処理 
-   #-------------------------------------------------------------------------- 
-   def start 
-     super 
-     SceneManager.clear 
-     Graphics.freeze 
-     create_logo 
-     play_logo_music 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● 開始後処理 
-   #-------------------------------------------------------------------------- 
-   def post_start 
-     perform_transition 
-     Input.update 
-     @count = CONF_LOGO::DISP_FLAME_LOGO 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● フレーム更新 
-   #-------------------------------------------------------------------------- 
-   alias :_orig_update :update 
-   def update 
-     _orig_update 
-     SceneManager.goto(Scene_Title) if disp_logo? 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● ロゴ表示のフレームカウントと判定 
-   #-------------------------------------------------------------------------- 
-   def disp_logo? 
-     if Input.trigger?(:C) 
-       true if CONF_LOGO::SKIP_LOGO 
-     else 
-       @count -= 1 
-       true if @count <= 0 
-     end 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● 終了前処理 
-   #-------------------------------------------------------------------------- 
-   def pre_terminate 
-     fadeout_all(transition_speed) 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● 終了処理 
-   #-------------------------------------------------------------------------- 
-   def terminate 
-     super 
-     dispose_logo 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● フェード速度の取得 
-   #-------------------------------------------------------------------------- 
-   def transition_speed 
-     if Input.trigger?(:C) 
-       return 0 
-     else 
-       return CONF_LOGO::FADE_SPEED_LOGO 
-     end 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● ロゴの作成 
-   #-------------------------------------------------------------------------- 
-   def create_logo 
-     @sprite = Sprite.new 
-     @sprite.bitmap = Cache.system(CONF_LOGO::FILE_LOGO) 
-     center_sprite(@sprite) 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● ロゴの解放 
-   #-------------------------------------------------------------------------- 
-   def dispose_logo 
-     @sprite.bitmap.dispose 
-     @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 play_logo_music 
-     @use_se = true 
-     @use_me = false 
-   
-     logo_music = RPG::SE.new(CONF_LOGO::MU_LOGO) 
-     logo_music.play rescue @use_se = false 
-   
-     unless @use_se 
-       @use_me = true 
-       logo_music = RPG::ME.new(CONF_LOGO::MU_LOGO) 
-       logo_music.play rescue @use_me = false 
-     end 
-   
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● サウンドとグラフィックのフェードアウト 
-   #-------------------------------------------------------------------------- 
-   def fadeout_all(time) 
-     RPG::ME.fade(time) if @use_me 
-     Graphics.fadeout(time) 
-     RPG::SE.stop if @use_se 
-     RPG::ME.stop if @use_me 
-   end 
- end 
-   
- #============================================================================== 
- # ■ SceneManager 
- #------------------------------------------------------------------------------ 
- #  シーン遷移を管理するモジュールです。たとえばメインメニューからアイテム画面 
- # を呼び出し、また戻るというような階層構造を扱うことができます。 
- #============================================================================== 
-   
- module SceneManager 
-   @reset_flg = true 
-   #-------------------------------------------------------------------------- 
-   # ● 最初のシーンクラスを取得 
-   #-------------------------------------------------------------------------- 
-   def self.first_scene_class 
-     if CONF_LOGO::USE_LOGO and @reset_flg 
-       @reset_flg = false 
-       # ロゴ表示を行う場合 
-       if CONF_LOGO::TEST_LOGO 
-         # テストでロゴ表示を行う場合 
-         $BTEST ? Scene_Battle : Scene_Logo 
-       else 
-         # テスト時にロゴ表示を行わない場合 
-         $BTEST ? Scene_Battle : ( $TEST ? Scene_Title : Scene_Logo ) 
-       end 
-     else 
-       # ロゴ表示を行わない場合 
-       $BTEST ? Scene_Battle : Scene_Title 
-     end 
-   end 
- end