推 wix3000: 這是個野生的龍哥 10/28 10:40
※ 引述《wix3000 (癢,好吃)》之銘言:
: 一直以來都有個疑問
: 雖然物件導向教學都說繼承與多型是OOP的特色
: 不過在遊戲設計時常常需要製作很多同一個架構但不同功能的類別
: 比如說技能,部隊這一類
: 我是應該遵照OOP的特色,為每一種技能實作一個類別呢?
: 還是應該寫在同一個類別裡,透過控制屬性去產生不同效果呢?
: 又或是有其他更好的方法呢?
: 我目前是採用多類型的作法,但是類型一多又總覺得看起來很亂
: 因為我程式都是自學為主,所以想請問一下通用的作法是哪一種
: 麻煩各位先進提供一下意見
是個野生wix三千
目前負責過的案子, 我設計的架構上通常都會像這樣(以技能系統為例)
命名這邊只用概念
base -- ability -- abilityA
|- abilityB
|- abilityC
|- buff -- buffA
|- buffB
其中 base 管理 data, 處理radius/add/remove等等共用的事
ability 處理 施法/各技能階段等等ability專用的事
buff 處理 多久跳一次/持續時間/等等buff專用的事
abilityA...N 處理該技能在各階段該做的事
buffA...B 處理該buff在生效時及stackin/out時做的事
其他如特效/model也是類似架構
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.152.17
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1445929052.A.75A.html