看板 GameDesign 關於我們 聯絡資訊
想請問組件式引擎在實作上的問題 看實行方式 是採用介面的形式去實行 這意味著..... 每個物件,都必須去寫一次實體 EX: interface IKilltable { int Hp{get;set;} void WhenHit(); void WhenDie(); } class Monster : IKilltable { int Hp{get;set;} public void WhenHit() {/*.....*/} public void WhenDie() {/*.....*/} } class Player : IKilltable { int Hp{get;set;} public void WhenHit() {/*.....*/} public void WhenDie() {/*.....*/} } 如果我同時有個五六個「東西」都可以被宰掉 而且被攻擊、死掉時所做的動作是一樣的 那我還是得Ctrl+C Ctrl+V 五、六次 需要修改時,也是個大噩夢 顯然這不是好方法,請問要如何解決? -- 20330 6/17 - □ (本文已被吃掉) 幹!這梗有毒...救命~~ 20331 6/17 - □ (本文已被吃掉) 〒 〒 20332 1 6/17 - □ (本文已被吃掉) ▼▼▼▼ 20333 XX 6/17 - 囧 (哈哈拎北有毒) \▲▲▲▲\ = ●20334 1 6/17 - □ (本文已被吃掉) 20335 6/17 - □ (本文已被吃掉) 口卡口卡嘗百草 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.27.109.77 ※ 編輯: SDNiceBoat 來自: 163.27.109.77 (09/01 09:04)
ousapas:好像可以用template 09/01 16:00
ousapas:actionscript的pushbutton就有 09/01 16:00
ousapas:可以先寫個template讓樣板套 09/01 16:00
ousapas:寫錯 entity 09/01 16:01
ousapas:可以先寫個template讓entity套 09/01 16:01
ousapas:override和extend都沒問題 09/01 16:02
SDNiceBoat:orz.... 我是用C#.... C++ 加減看,實力還不是很夠 09/02 00:09
cjcat2266:感覺你這個code還是繼承式寫法啊,不像是組件式 09/03 00:09
cjcat2266:組件式寫法應該是Player和Monster "擁有" 一個Hp組件 09/03 00:09