看板 GameDesign 關於我們 聯絡資訊
目前在試著Unity+C#做一個2D RPG, 系統原型參照Elona,精神參照照Mabinogi。 才剛開始而已,想請教各位, 一般都是怎麼寫物品這種大量項目的? Item - Consumable -- Potion -- Throwable - Equipment - Tool 這樣子逐級繼承類別的方式,應該沒什麼問題? 但是如果要逐一為每個物品寫 class 感覺效率不佳…… 我是在想製作一個方法專門讀 物品設定清單 文字檔的方法(只供開發使用)去讀跟pars e字串來將所有物品編入一個放在ItemManager這個class裡的List<Item>,然後將ItemMan ager序列化存為二進位檔,每次啟動遊戲載入這個檔案,這樣的做法OK嗎? 另外,如果能分享一些 RPG 的經驗談或相關建議就更好了,感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.8.2 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1458918717.A.F9B.html ※ 編輯: m9731526 (42.72.8.2), 03/25/2016 23:18:16
wix3000: 雖然看不太懂 但我自己的方式是用裝飾模式生成物品實例03/25 23:32
查了一下裝飾模式,學到東西了,謝謝 舉例來說 我編一個items.txt 內容是一行一個 物品名稱/耐久/品質 在程式內做一個方法來讀 items.txt 為每個物品生成物件後存成二進位檔案(實際的物 品資料庫) 相當於一個迷你開發工具?這樣子我就可以快速地用文字檔編寫總數龐大的所有物品 不太清楚怎麼表達 呃我的問題其實是大家一般都怎麼做比較好? 當然有其他設計模式、資料結構等能教我也非常感謝 ※ 編輯: m9731526 (42.72.8.2), 03/26/2016 00:16:20
ddavid: 試試版上有大大分享過的組件式架構03/26 00:12
ddavid: 版上keyword:組件式03/26 00:12
感謝,了解中 ※ 編輯: m9731526 (42.72.8.2), 03/26/2016 00:17:59
wix3000: 那我感覺你也可以把物品生成UNITY的腳本物件 03/26 01:48
wix3000: 這樣好管理、直觀、而且可以直接對其他組件序列化03/26 01:48
生成Unity的腳本物件? 是指每個物品一個script嗎? 不太懂
KanoLoa: 推組件式。道具功能method種類做好,用script設定道具屬03/26 01:48
wix3000: 當然缺點就是當你要大改物品系統時會很辛苦03/26 01:49
KanoLoa: 性會比較管理。純文字到後面動態實測的時候有夠不方便03/26 01:49
KanoLoa: 阿 剛好一起推文 不好意思03/26 01:50
※本來不方便看影片 現在看過影片大概了解了 先試試看組件式 ※ 編輯: m9731526 (42.73.133.232), 03/26/2016 09:48:50 ※ 編輯: m9731526 (42.73.133.232), 03/26/2016 09:50:10
wix3000: 關於我說的你可以查一下 scriptableobject 看看 03/26 10:17
ronin728: 能用JSON之類的腳本,存物品資訊與行為函數名稱03/26 10:55
※ 編輯: m9731526 (114.136.4.228), 03/26/2016 11:49:58
jasonlu00: ScriptableObject比較快,在editor裡面也比較容易修改03/26 13:42
ddavid: Unity就是寫好的組件式架構了 03/26 18:41
wix3000: ScriptableObject真的是個坑,一玩就停不下來了 XDD 03/26 21:31
我現在大概的做法是 一個Entity:Monobehavuour來嵌在畫面上的實體上(所有地圖上的物件) 再在這個Entity內建一個List<Components>來管理我自己寫的物品系統、生命值、Buff、 技能之類的組件 請問各位覺得這樣子,會有什麼問題嗎? ※ 編輯: m9731526 (42.73.123.9), 03/27/2016 13:52:44 ※ 編輯: m9731526 (42.73.123.9), 03/27/2016 13:54:31