作者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)
1F:推 ousapas:好像可以用template 09/01 16:00
2F:→ ousapas:actionscript的pushbutton就有 09/01 16:00
3F:→ ousapas:可以先写个template让样板套 09/01 16:00
4F:→ ousapas:写错 entity 09/01 16:01
5F:→ ousapas:可以先写个template让entity套 09/01 16:01
6F:→ ousapas:override和extend都没问题 09/01 16:02
7F:→ SDNiceBoat:orz.... 我是用C#.... C++ 加减看,实力还不是很够 09/02 00:09
8F:推 cjcat2266:感觉你这个code还是继承式写法啊,不像是组件式 09/03 00:09
9F:→ cjcat2266:组件式写法应该是Player和Monster "拥有" 一个Hp组件 09/03 00:09