創作內容

10 GP

[RMXP RGSS] CG回想

作者:未来ずら│2014-02-09 18:09:25│巴幣:20│人氣:2873
俺夢寐以求的功能,最重要的一點,支援差分


支 援 差 分

因為很重要所以說兩次
會寫的原因真的是因為沒找到支援差分和外部存檔的CG回想 雖然也沒怎麼找
腳本:
因為這次的量很大所以直接丟範例檔:
https://mega.nz/#!9UBQXYRI!nUuUe9yfbMDXDtmCjXeZqNZQ3D6fYWJcsZyhFdyV2r0
將範例檔的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 # 簡單來說就是全部關閉

額外:離開時回到標題:
$return_title = true
在切換前設定即可,回到標題後這變量會自動設為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)上豪嗎?
腳本整個複製過去再用事件敲吧,乖



引用網址:https://home.gamer.com.tw/TrackBack.php?sn=2339400
Some rights reserved. 姓名標示-非商業性 2.5 台灣

相關創作

同標籤作品搜尋:RM|RGSS

留言共 2 篇留言

不吃貓的魚
如果可以美化一下介面更好OAO!!!
可容許些小變動嗎?
不過可能會很久很久很久以後才會出現-////-
((畢竟不知道要不要考指考,而且明天就要開學了ˊˇˋ

02-10 21:33

未来ずら
等等,什麼變動?腳本到你手上當然就隨便你改啦,因為不可能做到和你想像的一模一樣,能靠自己改成符合的需求當然是最好 (゚д゚)

考試加油02-10 23:18
不吃貓的魚
不過說起來你還記得我嗎? 雖然好久好久了
最後一次跟你說話的時候沒記錯快3年前了吧
那時充滿著想用RMXP做遊戲的國中生= =
雖然現在還是秉持著那股熱誠 不過就是進度慢了些QQ


謝謝你囉~

02-10 23:37

未来ずら
額,有看過的ID大致都有印象。不過基本上都忘了說過哪些(爆
3年了啊...

進度慢沒關係啊,能完成就好(我也啥都沒完成 [e27])02-11 12:00
我要留言提醒:您尚未登入,請先登入再留言

10喜歡★qootm2 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:[RMXP RGSS] ... 後一篇:[RMXP RGSS] ...

追蹤私訊切換新版閱覽

作品資料夾

hyzgdivina喜歡虹咲的LLer
我的小屋裡有很多又香又甜的Hoenn繪師虹咲漫畫翻譯喔!歡迎LoveLiver來我的小屋裡坐坐~看更多我要大聲說昨天19:24


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】