前言
之前做的少侠历险记,我是基于网上的项目demo,自己做出来的一个ARPG的demo,里面有几点需要说明,动画状态机是用代码写的,释放技能寻找目标是根据物理系统
在角色位置画出一个相交球,将碰撞的物体列入列表,再过滤出怪物物体,对其造成伤害,今天说说战斗框架的流程,相对于我之前的那个,这个命名为2.0,是基于公司项目
代码架构
战斗流程
1 从UI层面将skill索引传递到PartyAI中
2 可以执行些镜头特效等, 判断是队伍中哪个角色的技能,传递过去
3 根据技能索引,根据技能信息,做出判断,将技能信息,(也可以只传递索引) 传递到Animator的playAction方法并执行
4 这个过程最重要,将技能分为三个阶段 起始 ,过程,到达目标
1 创建技能起始特效,
2 创建子弹(过程)子弹在飞行过程中搜索目标物体
3 到达目标后,创建击打特效,将伤害传递到RoleAI中,执行背攻击的方法
5 计算对自己造成的伤害(治疗),buff效果,将造成的伤害 传递到Animator中PlayText 显示伤害 ,buff 走另一条处理的路子,(挂BUFF脚本)
在此过程中 Property作为参数的提供者和接受者 Property中人物的数据得到实时更新
总结
简单的战斗流程走完了,接下来,会将其中的细节进行分析