3 Commits

Author SHA1 Message Date
Roman
9b4871b128 任务:搭建基本的系统
1.完成召唤炸弹攻击逻辑
(1.参照其他两种攻击,延时循环3次
(2.在起点和终点之间的x范围内的随机位置生成炸弹,y轴绑定起点

(*.修改炸弹类,使其右变量控制落地后的爆炸时间,默认为0,初始化时可以更改。新增判断,如果落地,执行延时而非直接爆炸

(3.初始化炸弹,给其向下微微偏左的初速度,这种炸弹会滚动,修改其落地后爆炸的时间

2.完成反击炸弹逻辑
(1.给玩家添加子物体:反击侦察器,内含圆形触发器
(2.给MyPlayer添加工具类,反击侦察器,初始化的时候找到该子物体并赋予其组件
(3.编写反击侦察器逻辑,内含一对触发器逻辑,当有炸弹进入反击范围,记录可反击炸弹,离开则清空
(4.编写玩家反击判定。当按下攻击键,额外检查反击侦察器是否有炸弹可以反击,如果有,再检查面部朝向,只有面朝左侧,也就是面朝木马,才能则执行反击

3.完成木马的被打断逻辑
(1.被炸事件触发时修改自身标记被打断
(2.若处于被打断状态,break出喷射循环,呼叫攻击结束事件

4.修复炸弹捕捉攻击对象错误Bug

5.木马创到人的时候,让人受伤

6.添加一些手柄震动
(1.当成功反弹炸弹,剧烈震动手柄

至此,伊斯兰Boss关的逻辑基本开发完毕

7.搭建基督Boss关测试场景
(1.加入一些必要元素
2021-12-14 01:33:24 +08:00
Roman
07d619494b 任务:搭建基本的系统
1.优化一些手感和战斗效果
(1.走动时轻微震动手柄(通过动画Event实现,以匹配脚步)
(2.被打的时候剧烈震动手柄,中幅度震动屏幕
(3.锤子击中的时候中幅度震动手柄
(*.完善震动管理员逻辑以解决震动的覆盖问题
(4.发射镰刀的时候轻微震动手柄,轻微震动屏幕
(5.为发射镰刀添加动画
(6.为锤子的空挥添加轻微震动

2.创建木马BossStageTest场景
(1.创建一些必要的元素
(2.创建木马逻辑组件

3.编写木马逻辑
(1.继承自Enemy
(2.参考地藏逻辑,做出三种攻击的协程
(3.让木马动起来,始终向右
(4.让相机上下轻微震动起来
(5.让手柄一直震动,模拟大型物体的感觉
(6.将空气墙绑在马身上
(7.编写召唤小怪的攻击方式
(*:当触发召唤小怪的攻击,在视野右边,每隔若干随机时间生成一个伊斯兰,生成到指定数量后,发送攻击结束信号。

4.编写地面逻辑
(1.让地面能够无限向右平铺
(*:在地面的末端安排一个触发器,当木马完全离开触发器,使地面移动至地面宽度两倍的右边
(2.将光源绑在地面,这样不会出现远了会失去光照的问题

*:目前伊斯兰小怪在BossStage有一些Bug,明天再修吧
2021-12-12 02:08:39 +08:00
Roman
7d2c965521 任务:搭建基本的系统
1.编写伊斯兰小怪逻辑
(1.继承于Enemy类
(2.初始化时直接为Seek状态
(3.每帧执行Seek函数,让其水平方向有冲向玩家的速度
(4.当触发Touch玩家事件,伊斯兰触发协程Boom
(*.给伊斯兰类添加触发器监听,当玩家进入触发器范围,标记可以炸到玩家;当玩家离开触发器,标记无法炸到玩家
(5.当Boom执行时,标记自身为dead,关闭自身碰撞体,抄一下NormalEnemy的被击飞函数,并使刚体开始旋转。同时判定玩家是否可被炸到,若能,击飞玩家并造成相对的伤害值。
(6.从NormalEnemy代码复制过来了受击逻辑
*:整理伊斯兰代码

至此,伊斯兰小怪的逻辑基本开发完毕

*修复攻击时能够转身的问题

2.编写屏幕和手柄震动相关逻辑
(1.设计震动类
(2.设计静态方法ShakeScream和ShakePad,其中ShakePad为协程,调用时请使用StartContinue。

3.为玩家起跳添加屏幕晃动和手柄震动
2021-12-05 00:40:50 +08:00