6 Commits

Author SHA1 Message Date
Roman
032bef564e 任务:搭建基本的系统
1.完成玩家被爱欲品抓住的逻辑
(1.在玩家类已经留下空事件,需要完成逻辑:当被爱欲品抓住,玩家需要:
((1.声明bool新变量isCatching
((2.更改变量isCatching为true
((3.更改inControl变量为false,此时玩家不再能移动
((4.处理伤害,每秒减去爱欲品的atk的血量
(2.在InputSystem的事件OnMove中,触发转身处,添加一处判定,若此时inControl,才能进行转身操作。若isCatching为真,不触发转身,进而触发爱欲品的挣脱事件。
(*:修改爱欲品完全挣脱事件,使其通知玩家已经完全挣脱
(3.当收到完全挣脱的消息,恢复isCatching为false,同时恢复inControl,同时关闭掉血协程,同时删除记录的抓着玩家的爱欲品

*:至此,爱欲品的行动逻辑基本上开发完成

2.修复玩家用锤子攻击会多次判定到怪物身上的Bug
3.修复玩家挥锤子卡手的问题
4.重新匹配锤子挥动判定与动画
5.修改锤子动画速度曲线
6.解决狂按攻击有概率卡死的问题
7.使玩家攻击的时候无法移动
8.解决玩家被缠抱时可以跳跃的问题
9.解决玩家被缠抱时可以发镰刀的问题

攻击手感很怪,还需要细调
🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔
2021-12-03 23:58:34 +08:00
Roman
5b2e3633ab 任务:搭建基本的系统
1.替换动画源图片为攻击加长版
(*:新建动画“被击飞”并完成状态机逻辑
(*:删除旧动画源图片素材减小项目体积
*:修复攻击动画卡手问题
*:修复被击飞后朝向影响击飞结果的Bug

2.编写佛教小怪逻辑
(1.继承自NormalEnemy(*:与原备注不同,因为后期我发现用NormalEnemy更加合适更加简单)
(2.与普通小怪一样,默认状态会巡逻
(3.当玩家进入感知范围,触发Seek
(4.当玩家创到怪物,触发Atk
(*:改变自身状态为ATK
(*:关闭自身碰撞体,因为要贴在玩家身上
(*:将自身位置和玩家位置同步,但是需要一个附身offset二维向量,因为玩家的图片不在游戏物体的中心
(*:通知玩家,你被爱欲品附身了
(5.当怪物收到伤害,触发Seek
(*:我决定后期根据具体地形完善爱欲品的Seek函数
(6.编写完全挣脱事件
(*:触发死亡事件
(*:死亡后给予随机方向的击飞和旋转
(*:添加public变量breakFreeCount,代表挣脱需要触发多少次方向变换
(*:添加public变量breakFreeCountLeft,代表现在还需要方向变换多少次才能挣脱
(7.添加挣脱行为事件,从player传来,减一点Left并且判断是否完全挣脱,若是则执行完全挣脱事件
3.整理脚本分层,添加摘要和注释

下班,明天写玩家挣脱逻辑和被抓逻辑
🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱🥱
2021-12-03 01:23:07 +08:00
Roman
1802f8ee83 任务:搭建基本的系统
1.绑定cinemaMachine相机
2.修复锤子攻击后玩家反而被击飞的Bug
(1.为了避免锤子碰撞体抵到地面、锤子将怪物按在地上等问题,现需要将锤子改为触发器,锤子的判定代码移至锤子类
2.替换锤子攻击动画为攻击范围加长一版
2021-12-01 19:14:21 +08:00
Roman
ff4639d2cf 任务:搭建基本的系统
1.编写普通小怪受击逻辑
(1.受击时获得受击方式和受击方向
(*:新建tweenNow变量记录正在播放的动画
(2.受击瞬间停止tweenNow(否则怪物的物理路径将被锁定在tween中
(*:向玩家类中添加字典,用来查询不同攻击方式的攻击倍率
(*:向怪物基类中添加CheckDead功能
(*:编写受击击飞效果,类似于player
(3.减少生命值,同时呼唤CheckDead
(4.若死亡,更改怪物状态为Dead,呼唤OnDead,编写OnDead,给予其范围内随机一个旋转角速度,同时关闭其碰撞体,同时开启一个协程,使其一定时间后被销毁。
(*:给普通怪物添加positionSource变量,记录游戏开始时怪物的位置
(*:给普通小怪类添加inPath变量,记录一下目前是否正在执行path动画
(5.若未死亡,则让怪物着地后Dotween到初始位置,结束后触发事件,重新开始巡逻
(*:修复速度无法控制怪物真实速度的问题
(*:我超,由于插件存在不可忽略的缺陷,要修改怪物的移动速度做不到自动化了,必须通过在Path组件自行输入持续时间,其实就是多做一个小学算数,呐
2021-11-28 23:34:14 +08:00
Roman
405344bdf0 任务:搭建基本的系统
1.编写玩家受击逻辑BeHit(atk,dir)
(1.受击时得知受到的攻击力和受击方向
(2.受击时向受击方向被击飞一小段
(3.减去相应的生命值
2.编写基本小怪逻辑
(1.wander状态,在两点间巡逻
(2.当触发OnTouchThePlayer,通知玩家BeHit
3.编写了更多摘要和参数解释
4.更新的Dotween插件的版本
2021-11-28 01:33:32 +08:00
Roman
f7e92a473d 任务:搭建基本的系统
1.编写敌人基类,具有一些基本属性,往后重复性不是特别大,决定小怪和Boss均继承此类,其余代码写在具体类中。
(1.具有如下属性:
	HP
	HPLeft
	ATK
	Speed
	Coin
	Enmu State(wander\seek\atk\dead)
(2.具有如下事件
OnDead(死亡的时候触发)
OnTouchThePlayer(给予怪物本体碰撞体,当玩家触碰到怪物触发)
OnBeHit(Enmu攻击方式)(当有东西触碰到怪物本体,检测触碰的是什么,然后返回攻击方式给该事件)
OnFindThePlayer(给予怪物一个触发器,当玩家进入该触发器,怪物进入seek状态)

🐎🐎🐎
2021-11-24 23:23:01 +08:00