看板 GameDesign 關於我們 聯絡資訊
※ 引述《m9731526 (#3371)》之銘言: 長話短說: 買RPGMaker(欸 : 一般都是怎麼寫物品這種大量項目的? : Item : - Consumable : -- Potion : -- Throwable : - Equipment : - Tool : 這樣子逐級繼承類別的方式,應該沒什麼問題? 是沒什麼問題 : 但是如果要逐一為每個物品寫 class 感覺效率不佳…… 應該是我誤會...還是你真的以為100個道具就需要100個class? 實際上遊戲的資料庫是透過讀檔沒錯(我是有遇過寫在code中的-_- 從架構上來差別並不多 像是"紅水"/"藍水"/"聖水", table建起來可能是 id | name | type | add_hp | add_mp | revine | =============================================== 1 | 紅水 | potion | 100 | | | ----------------------------------------------- 2 | 藍水 | potion | 0 | 100 | | ----------------------------------------------- 3 | 聖水 | potion | 100 | 100 | true | 也可以寫成json { id:1, name:"紅水", type:"potion", useEffect:{ hp:100 } }, { id:2, name:"藍水", type:"potion", useEffect:{ mp:100 } }, { id:3, name:"聖水", type:"potion", useEffect:{ hp:100, mp:100, "revine":true } } 整合起來會變成像 class Potion { int id; string name; int hp; int mp; bool revine; void useOn(Character character){ character.hp += this.hp; character.mp += this.mp; if(this.revine){ character.revine(); } } } 不太確定有沒有解答到你的問題? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.144.28 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1458925921.A.73E.html
cjcat2266: revive? 03/26 03:38
cjcat2266: 推泛用class搭配data定義物品種類,對designer較友善 03/26 03:40
m9731526: 是的,我就是用這種方式 03/26 09:29
m9731526: 其實我真的不太清楚一般是怎麼做XD 03/26 09:29
m9731526: 謝囉 03/26 09:29
tomnelson: 若我的話是會用這篇回文內容的這種方式! 03/26 14:27
ddavid: 新進做小Project的話這個方法真的比較容易就是 03/26 18:43
ddavid: 只是擴充就必須要嘛讓Class本體膨脹,要嘛讓繼承樹越長越 03/26 18:44
ddavid: 大就是了,不考慮未來擴充的話這樣比較簡潔 03/26 18:44
KanoLoa: 考慮到以後上資料庫,道具上千種的話,這還是要改 03/29 00:13
KanoLoa: 不過一般要做大型mmo也會有上一板的做法可以偷看了XD 03/29 00:13