Untiy简易战斗系统结构

(非保姆式教学,纯粹是书封影的碎碎念)

解耦非常重要,基本思想便是解耦。

我们需要将攻击主体,受击主体,攻击检测器和受击检测器区分开来

对此,可以用接口来实现。

我们可以创造攻击主体接口IHitResponder,受击主体接口IHurtResponder,攻击检测器接口IHitDetector,受击检测器IHurtBox,而后在具体的实现时对其进行继承和实现。

其中,两个检测器要能获得其主体,实现主体中的Responder。

我们可以创建一个中间层HitData,在攻击体和受击体之间进行数据传输。

上述描述可能比较抽象,详见下图:

 我们在继承IHitDetector的检测器中建立一个检测方法CheckHit(),使用BoxCastAll对可能遇到的碰撞体进行检测,同时生成HitData文件,通过攻击检测器和受击检测器判断其是否符合游戏要求,若符合要求,则通过HitData调用两个主体中的Response方法,实现攻击和受击的反馈。

或许上述还是很抽象,这里直接放个数据结构思维导图

 希望有需要的人能够看懂(

如果有更好的办法,请留言,书封影感激不尽

猜你喜欢

转载自blog.csdn.net/qq_36486755/article/details/131993045