作者SDNiceBoat (NiceBoat.)
看板GameDesign
標題Re: [分享] 組件式(Component-Based)遊戲引擎簡介
時間Wed Sep 1 09:01:30 2010
想請問組件式引擎在實作上的問題
看實行方式
是採用介面的形式去實行
這意味著.....
每個物件,都必須去寫一次實體
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