首页 > 代码库 > 九宫格战斗架构解析
九宫格战斗架构解析
战斗部分总模块划分
一,战斗单机版框架
细分框架包含如下系统和技术点:
1,地图循环系统;
2,精灵系统(2方向4动作);
1),精灵动作状态机,总精灵父类,玩家精灵子类,怪物精灵子类;
2),动作组装器(帧动画封装);
3),方向计算器(根据不同点位移计算精灵朝向);
4),效果动作组装器(移动,旋转,放大缩小,赛贝尔曲线等动作组装);
5),精灵BUF,光环,状态控制器(精灵BUF状态,脚下光环,纹理状态控制);
6),精灵触摸区域;
7),精灵血条控制器;
3,特效系统;
1),普通特效;
2),技能特效;
2,精灵模型(Model层);
3,侠客阵列;
4,怪物阵列;
5,九宫格精灵连线系统(9Role-Connection);
1),九宫格连线系统(根据颜色相同补位连接算法);
2),引导连接(黑线引导连接及取消连接的算法,还包含夹角计算,位移更新弧度等算法);
3),连接取消(已连接阵法按原路线取消已连接的算法);
4),精灵阵法光环颜色(为精灵脚底添加颜色阵法)
6,精灵普通攻击;
1),精灵移动(动作);
2),普通攻击
3),精灵攻击&怪物被攻击&技能攻击特效&抖动
4),侠客精灵移动返回,怪物恢复站立;
7,补阵系统(12个精灵的补阵条件:1,不重复,2,按照从左到右,再从上到下规律补阵)
1),补移位算法(补数据模型model,补精灵视图view);
2),补齐后重置算法(重置当前序列TAG,注此处我是根据精灵坐标来重置当前阵法的序列);
以上一个攻击循环+补阵就是一个可以循环跑起来的单机版战斗框架;
二,战斗接模型正式数据后,普通攻击模块;
1,关卡信息展示;
2,地图切换,角色跑动等组合战斗场景特效;
3,精灵模型数据正式化;
0),玩家9个模型,好友/游侠(3个模型)。
1),侠客攻击,血量,恢复;
2),侠客属性(金木水火土,恢复);
3),怪物模型:攻击,血量,回合数,弱点属性;
4),精灵血条控制器;
4,侠客精灵普通攻击(细化)
1),单个精灵攻击:
侠客(移动,攻击,跑回)
怪物(被攻击,攻击特效,数值特效,连击特效,恢复站立)
2),多个精灵攻击,处理连招序列节奏;
5,回合定时控制器;(处理每个回合“玩家主动连线攻击一次/1回合”后检测当前战斗场景的回合状态,和所有精灵状态):
1),视图检测;
2),精灵检测;
3),怪物死亡检测;
6,怪物精灵攻击侠客:
1),根据回合控制器检测怪物0回合时进行攻击;
2),怪物攻击序列处理;
3),单个怪物攻击序列处理:
怪物随机选定攻击目标;
怪物攻击状态;
侠客精灵被攻击,被攻击特效,玩家扣血效果,扣血数值特效;
精灵恢复常态;
怪物攻击完更新回合数;
7,精灵补阵时根据策划数值需求添加必中BUFF几率;
8,玩家侠客总血量条(12个精灵血量之和);
9,怪物精灵死亡:
1),死亡检测;
2),死亡特效;
10,怪物攻击时,判定怪物技能的攻击侠客数目:
1),攻击单个;
2),攻击多个;
三,普通招式攻击模块
1,数据模型侠客招式数据获取;
1,侠客精灵怒气触发;
2,侠客精灵怒气效果制作;
3,在精灵普通攻击基础上重构招式攻击:
1),精灵变红色;
2),精灵位移;
3),位移时制作残影效果,渐隐效果;
5),假碰撞制作(节奏控制);
6),怪物被攻击效果,连击特效,数值连击特效(多次嘣数值),怪物扣血效果;
7),侠客,怪物恢复
4,侠客精灵普通攻击时按几率触发普通招式;
四,九连击大招攻击模块
1,9连构成条件
2,9连攻击:
1),先进行就连判定
2),判定成功,前8位侠客精灵执行原有BUFF及攻击操作(涵盖普通招式,普通攻击)
3),最后一位精灵为必杀技技能释放:
屏幕放大,
最后一位角色精灵超大CG闪现,
最后一位精灵原地释放全屏大招,
全屏怪物进行扣血操作。
4),所有精灵恢复
五,怪物加护盾模块
1,怪物普通攻击的同时增加护盾
2,护盾增加条件查询
3,怪物攻击加护盾:
0),选定目标个数,随机选定目标;
1),镜头跟随怪物放大效果;
2),怪物原地攻击;
3),怪物播放技能招式;
4),精灵侠客原地被攻击,玩家扣血效果,显示数字;
5),查询怪物增加护盾数,护盾类型;
6),增加护盾
4,破解护盾
0),破解护盾条件;
1),达成破解护盾的侠客攻击,将移除更新怪物护盾;
2),怪物护盾更新;
六,玩家死亡
1,玩家死亡判定;
2,死亡后弹出接关提示(是否接关?);
3,不接关,显示退出战斗提示;
4,接关,接关提示框消失,消耗复活石,进行接关:
购买复活石弹框,使用复活石
5,复活后,战斗回合为1;
七,关卡信息保存
1,打完每波怪物后进行地图切换
2,切换时显示关卡进度信息,如(2/3波);
3,切换关卡是通讯服务器进行数据保存,告诉服务器这波的情况;
八,战斗退出
1,弹出战斗退出框;
2,确定取消操作;
3,显示战斗失败弹框;
4,loading处理数据清理之后,进行对应跳转;
九,战斗总结算(该关卡,所有波次打完,进行总结算)
1,请求服务器,申请结算数据;
2,给服务器发送该关卡信息;
3,拿到服务器数据,解析;
4,显示该关卡的掉落,掉落什么东西,更新本地数据;
5,显示战斗胜利
6,loading处理数据清理之后,进行对应跳转;
九宫格战斗架构解析