將範例檔的CG系統懶人包移植到專案即可
然後,儲存CG開通狀況的變量是
存在外部,
已有做
外部系統的人請將懶人包腳本中的 Game_Config 宣告的變量和方法移植
套用腳本後開啟遊戲會在主目錄產生 config.rxdata 的存檔
注意事項:這算是不好上手的腳本,
不過會需要這腳本的我相信都有一定程度和年紀
(和耐心),理解上應該不會太困難
Scene_Gallery、Window_Select_CG、Window_Gallery_Help 以上三個Class的內容請務必照實際需求更改,必須改造的地方都有註解提醒
前兩者在「
使用者自定義設置」,最後一個則需修改「
set_text」的內容
至少必須懂 case 怎麼用
使用法:叫出CG回想畫面:
$scene = Scene_Gallery.new |
開啟CG:
$game_config.open_cg(第N張CG - 1[, 第N張差分 -1]) # 差分省略時,為開啟全部差分 |
範例:
$game_config.open_cg(0) # 開啟第 1 張CG及全部差分 $game_config.open_cg(1, 1) # 開啟第 2 張CG的第 2 張差分 $game_config.open_cg(3, 0) # 開啟第 4 張CG的第 1 張差分 |
關閉CG:
$game_config.close_cg(第N張CG - 1[, 第N張差分 -1]) # 差分省略時,為關閉(ry |
檢查CG開啟狀況:
p $game_config.check_cg(第N張CG - 1[, 第N張差分 -1]) # 差分省略(ry |
true為開啟、false為關閉
省略p可用作條件分歧
重置CG收集狀態:
$game_config.reset_cg # 簡單來說就是全部關閉 |
額外:離開時回到標題:
在切換前設定即可,回到標題後這變量會自動設為false
※因為數組順序是從0開始算,因此都要少1,
本系統內的錯誤訊息為了方便理解全部都有經過轉化,雖然這對已習慣Array的人可能比較麻煩...不習慣就改掉吧
※$game_config 這變量代表範例檔中的 Game_Config 實體,已有外部系統的請自行調整
介面操作:雖然想說照直覺就好...不過還是簡單說一下
用上下左右選擇要檢視的CG,開啟後可用左右鍵或確定鍵檢視其他差分
取消或無差分時即回到選擇CG的狀態
原理說明:主要就是靠新增的 Game_Config 中
@cg_collection 的狀況去判斷要不要顯示圖片而已
本身原理不太難,只是...因為數組疊了兩層(CG及其差分)所以很容易搞亂
寫完界面腦神經不知道斷了幾根
Game_Config 的 @cg_collection
Scene_Gallery 的 CG_DATA
Window_Select_CG 的 PRE_DATA
三個互相對應
PRE_DATA 只要 @cg_collection 對應CG的任一差分存在(true),就會開啟預覽
CG_DATA 的結構則和 @cg_collection 相同,@cg_collection為true的部分才會開啟對應CG
眼尖一點會發現 PRE_DATA 其實也是兩層數組,本來是想預覽圖會照現有差分做定期動畫
不過想想還是算了(爆)
總而言之,
$game_config.cg_collection 是整個系統的靈魂,其他都是額外的
相較之下
劇情回顧反而單純多了,
數組只要一層,也不用寫什麼差分轉換(最燒腦的部分),
反正選了選項直接丟到指定地圖進行自動事件就好了
延伸: 如果覺得這介面不好看、不會改腳本但想用事件自己敲界面的話也可以
如上面所提,關鍵就只是
$game_config.cg_collection 想用事件敲的話,只要善用「
$game_config.check_cg」就能判斷該不該顯示圖片:
條件分歧:$game_config.check_cg(5, 3) (CG6 的差分4 存在的情形) 不符合條件的情況 (不存在的情形) 分歧結束 |
如果想把某張地圖當成整個CG回想界面,又想在標題畫面進入,可以查閱一下如何在標題畫面新增選項並進入指定地圖:
# 進入指定地圖 $game_map.setup(地圖編號) $game_player.moveto(x, y)
|
會改腳本介面的,Window_CGCollection_State有兩個未使用的參數,搞不好有用,
詳情看註解吧
衝突:應該不到0.1%...如果真的會衝突相信你也會整合了...
VX和ACE其實也適用,不過因為VX以後預設解析度很彆扭所以請自行改成640x480
(除非想改介面)
然後播放音效和鍵盤判定(VA)的部分也要改
還有VA轉換場景的語法也不同了...
SceneManager.goto(場景類的名稱) |
嘛...反正也說過可以用事件敲就...
改造項目:新增5個Class
Scene_Gallery、Window_Select_CG、Window_CGCollection_State、Window_Gallery_Help、Game_Config
Q.安安,什麼是差分?
額,這是日式用語,翻譯過來就是"不同的",
以圖片來說就是同個構圖,但有些微變化。像是人物睜眼閉眼、轉頭轉身之類的...
(有些變化也不怎麼些微了...總之就是同構圖)
Q.欸--我玩過的Galgame有用人物區分的耶,可以做到嗎?預設當然是不行
若要實現這點...簡單一點就是依照角色量去多設定幾個類似
@cg_collection 的變量
然後剩下一樣做法
Q.我想在標題畫面進入在標題畫面新增選項,
再搭配 $return_title = true 與 $scene = Scene_Gallery.new 即可
如果目標是某張地圖上面也有提要怎麼移動了
新增選項的教學精華區就有
Q.幫我整合到VX(VA)上豪嗎? 腳本整個複製過去再用事件敲吧,乖