cocoscreator塔防游戏战斗实现构思

BattleManager:对战斗界面进行控制,

加载相关数据,关卡和表中敌人数据

生成地图

 

生成员工列表方法

 

生成防御塔方法:

开始时就调用,先看缓存中是否有对应数据,有则按照之前的位置生成防御塔,以及员工列表信息,没有则空白,根据玩家拖动生成√

 

战斗过程:

通过参数判断过程

战斗开始:

判断普通关和Boss关

普通关则

延时2s后开始进入战斗,设置一个参数,此时变为true,然后执行生成敌人方法

Boss关则先进行决策,决策完成后再进行战斗

 

生成敌人方法:

每0.5秒创建一个敌人,敌人数量按照表中数据生成,创建的敌人为预制体,此预制体附带脚本组件,传入对应敌人数据,并实时对敌人数据进行更新,如血量和存活状态

 

玩家拖动生成防御塔:

使用坐标:

使用触摸点击事件,按住头像拖动实际为按下并且移动,需时刻获取当前坐标,松开后获取坐标,与防御塔建造点的坐标进行对比,若不同则员工列表还原此员工,鼠标位置头像消失,若相同有两种情况,建造点为空,则直接生成防御塔,员工列表删除该数据,不为空,与该防御塔替换,建造该员工,员工列表替换该数据

或者使用碰撞体检测

将建造点添加碰撞体组件,当头像拖动碰撞检测后进行建造功能

 

 

战斗中:

添加碰撞检测,敌人进入防御他攻击范围后进行攻击,需要设置子弹方向朝着敌人方向,

敌人从起点延路线行走,使用anim制作

 

伤害机制:

需单独设一个类用于数据计算

 

计算伤害,子弹也需设置碰撞体,造成伤害后飘字显示,并显示伤害类型,

伤害类型设置公共类,通过参数调用

血条UI设置

死亡后渐隐消失,死亡后调用方法,调整透明度再销毁

并产生奖励,奖励头顶播放加资金飘字

 

战斗结束

弹窗成功或失败

战斗中没有敌人进入终点且敌人全部生成并消失则为成功,成功后结算奖励添加到宝箱中

点击宝箱,打开弹窗获取

若有敌人进入终点则失败,失败则重置本关

终点设置碰撞体,与敌人碰撞检测

 

enemyControllors:

敌人预制体控制类

传参数,设置好基本属性

在此类中添加该敌人会发生的事件

行走,死亡,血条减少,飘字等

 

towerControllors

防御塔预制体控制类

传参数,设置好基本属性

攻击,释放技能,以及该预制体的等级和属性

 

AnimAction

状态动画播放,该预制体使用哪个状态的动画

 

AttackAction

攻击动画播放,技能伤害等

 

BoxControllers

控制宝箱,点击宝箱弹出领取奖励弹窗,领取奖励弹窗做成预制体

奖励数据需写在本地数据中,若本地数据有值,则登录后就可领取

 

chapterControllers

关卡控制类,控制战斗界面上方关卡为哪一关,以及自动滑动

关卡数通过本地缓存读取,并修改数据

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值