赞 | 170 |
VIP | 6 |
好人卡 | 208 |
积分 | 229 |
经验 | 137153 |
最后登录 | 2024-11-14 |
在线时间 | 8638 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 22943
- 在线时间
- 8638 小时
- 注册时间
- 2011-12-31
- 帖子
- 3367
|
本帖最后由 tseyik 于 2014-11-16 15:01 编辑
- #==============================================================================
- # ■ RGSS3 スイッチ依存タイトルグラフィック Ver1.00 by 星潟
- #------------------------------------------------------------------------------
- # 根據存儲在當前遊戲文件夾中保存的數據的開關的狀態
- # 更改標題圖片。
- # (若保存數據不是原始位置則本脚本不會有効)
- #==============================================================================
- module TITLE_SWITCH
-
- #根據開關指定的標題的圖形。
- #[開關ID,第1個画像文件名,第2個画像文件名]的
- #3項目為1組合。
- #若百数個合適時、在下面的設定優先。
- #不指定図象時
- #文件名用""、
-
- T_GRAPHIC = [
- [1,"Night","Heroes"],
- [2,"Sword","Fire"],
- [3,"Book","Mist"],
- [4,"Universe","Dragons"]
- ]
-
- end
- class Scene_Title < Scene_Base
- #--------------------------------------------------------------------------
- # 背景の作成
- #--------------------------------------------------------------------------
- alias create_background_title_switch create_background
- def create_background
-
- #スイッチの情報を取得します。
-
- extract_savedata_switches
-
- #本来のタイトルグラフィック名を保存します。
-
- title1_name = $data_system.title1_name
- title2_name = $data_system.title2_name
-
- #タイトルグラフィックをスイッチに応じて変更します。
-
- title_graphic_switch
-
- #本来の処理を実行します。
-
- create_background_title_switch
-
- #タイトルグラフィックの指定を元に戻します。
-
- $data_system.title1_name = title1_name
- $data_system.title2_name = title2_name
- end
- #--------------------------------------------------------------------------
- # スイッチ情報の取得
- #--------------------------------------------------------------------------
- def extract_savedata_switches
-
- #専用のスイッチ配列を生成します。
- #他スクリプトとの競合を回避する為に、専用のデータを用意します。
-
- @switches_data = Game_Switches.new
-
- #データマネージャーで設定されたセーブファイル最大値の回数分だけ処理します。
-
- DataManager.savefile_max.times {|i|
- begin
-
- #順番にセーブファイルを開きます。
-
- File.open(DataManager.make_filename(i), "rb") do |file|
-
- #とりあえずヘッダーをロードします。
-
- Marshal.load(file)
-
- #ファイルデータをロードします。
-
- contents = Marshal.load(file)
-
- #スイッチデータをデータ部分のみ抜き出します。
-
- switches = contents[:switches].switch_data_get
-
- #各スイッチがtrueの場合のみ取得します。
-
- switches.each_with_index {|s, s_id|
- @switches_data[s_id] = s if s
- }
- end
- rescue
- end
- }
- end
- #--------------------------------------------------------------------------
- # スイッチの状態に応じてタイトル画像を変更
- #--------------------------------------------------------------------------
- def title_graphic_switch
-
- #設定データの上から順に処理を行います。
-
- TITLE_SWITCH::T_GRAPHIC.each {|data|
- next if !@switches_data[data[0]]
- $data_system.title1_name = data[1]
- $data_system.title2_name = data[2]
- }
- end
- end
- class Game_Switches
- #--------------------------------------------------------------------------
- # スイッチデータをデータ部分のみ抜き出す
- #--------------------------------------------------------------------------
- def switch_data_get
- @data
- end
- end
复制代码 |
评分
-
查看全部评分
|