赞 | 0 |
VIP | 1 |
好人卡 | 5 |
积分 | 2 |
经验 | 17211 |
最后登录 | 2024-9-2 |
在线时间 | 341 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 243
- 在线时间
- 341 小时
- 注册时间
- 2010-9-5
- 帖子
- 70
|
- #==============================================================================
- # ■ VXAce-RGSS3-17 タイトルカスタマイズ [Logo] by Claimh
- #------------------------------------------------------------------------------
- # タイトル表示前にロゴ画面を表示します。
- #------------------------------------------------------------------------------
- # ●セクション
- # タイトルカスタマイズより下に配置して下さい。
- #------------------------------------------------------------------------------
- # ●動作について
- # ロゴ表示中Title.skip_trigger?内のボタンが押された場合はスキップします
- # ただし、動画再生の場合はスキップできません。
- #==============================================================================
- module Title::LOGO
- # ME
- LOGO_ME = RPG::ME.new("")
- # トランジション(nil:画像なし)
- LOGO_TRN = nil #"Graphics/System/cc_transition2"
- # ロゴタイプ
- # 0..画像
- # 1..テキスト
- # 2..ogv動画
- LOGO_TYPE = 0
- # ロゴ名(画像ファイル or テキスト or 動画ファイル)
- # 画像ファイル : Graphics/System/
- # 動画ファイル : Movies/
- LOGO = "logo"
-
- # ロゴ表示位置(Rect#width,heightは未参照)
- # Rect#x : -1を指定すると中央
- # Rect#y : -1を指定すると中央
- # (注)動画再生は常に中央表示になります
- L_RECT = Rect.new(-1, -1, 0, 0)
-
- # フォント設定
- def self.logo_font(bitmap)
- bitmap.font.size = 48
- bitmap
- end
-
- # ロゴ表示時間(フレーム数)
- # (注)動画再生では無効(動画終端まで再生されます)
- L_TIME = 90
-
- # タイムアウト発生時にもロゴ表示する
- L_TOUT = false
- end
- #==============================================================================
- # ■ Title::Scene
- #==============================================================================
- module Title::Scene
- #--------------------------------------------------------------------------
- # ● ロゴシーンの有無
- #--------------------------------------------------------------------------
- def self.enable_logo(timeout=false)
- timeout ? Title::LOGO::L_TOUT : true
- end
- end
- class Scene_Logo < Scene_Base
- include Title::LOGO
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- #--------------------------------------------------------------------------
- def initialize
- super
- prepare
- end
- #--------------------------------------------------------------------------
- # ● 準備
- #--------------------------------------------------------------------------
- def prepare(timeout=false)
- @timeout = timeout
- end
- #--------------------------------------------------------------------------
- # ● 開始処理
- #--------------------------------------------------------------------------
- def start
- super
- LOGO_ME.play unless LOGO_ME.nil?
- [url=home.php?mod=space&uid=134219]@Time[/url] = 0
- [url=home.php?mod=space&uid=114926]@sprite[/url] = Sprite.new
- @sprite.bitmap = Title::LOGO.logo_font(Bitmap.new(Graphics.width, Graphics.height))
- draw_logo if LOGO_TYPE < 2
- end
- #--------------------------------------------------------------------------
- # ● トランジション実行
- #--------------------------------------------------------------------------
- def perform_transition
- LOGO_TRN.nil? ? super : Graphics.transition(transition_speed, LOGO_TRN)
- end
- #--------------------------------------------------------------------------
- # ● トランジション速度の取得
- #--------------------------------------------------------------------------
- def transition_speed
- return 20
- end
- #--------------------------------------------------------------------------
- # ● ロゴ描画
- #--------------------------------------------------------------------------
- def draw_logo
- logo = Title::TitleName.new(LOGO_TYPE==1)
- logo.src_rect(LOGO, LOGO, @sprite.bitmap)
- logo.calc_rect(L_RECT, false)
- logo.draw_tile(@sprite.bitmap)
- end
- #--------------------------------------------------------------------------
- # ● 開始後処理
- #--------------------------------------------------------------------------
- def post_start
- super
- play_movie if LOGO_TYPE == 2
- end
- #--------------------------------------------------------------------------
- # ● 動画再生
- #--------------------------------------------------------------------------
- def play_movie
- Graphics.play_movie('Movies/' + LOGO)
- return_scene
- end
- #--------------------------------------------------------------------------
- # ● 終了処理
- #--------------------------------------------------------------------------
- def terminate
- super
- @sprite.bitmap.dispose
- @sprite.dispose
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- def update
- super
- @time += 1
- return return_scene if @time > L_TIME
- return return_scene if Title.skip_trigger?
- end
- #--------------------------------------------------------------------------
- # ● 呼び出し元のシーンへ戻る
- #--------------------------------------------------------------------------
- def return_scene
- super
- fadeout_all
- SceneManager.scene.prepare(Title::Scene::S_LOGO, @timeout)
- end
- end
复制代码 |
|