13 Commits

Author SHA1 Message Date
Roman
62459078a4 任务:搭建前置关卡,编写演出逻辑
1.搭建佛教前置关卡
(1.替换浮空平台贴图
(*.制作普通小怪的预制体
(*.制作普通小怪动画
(2.编写掉怪陷阱

2.编写演出类逻辑
(1.继承自Event
(2.具有结束事件(Event对象
(3.OnCall演出时,先做一些演出的基本准备工作
((1.修改玩家的操作地图
((*.后续慢慢完善
(4.准备工作结束后startContinue演出主体
(5.演出主体的结尾触发自身End事件和结束事件(Event对象

*.修复和优化
(1.修复爱欲品wander状态无法被正常击飞的问题
(2.修复玩家蹭墙也标记着地的问题
(3.修复玩家在下降中的平台会抖动的问题
(4.修复玩家状态机偶尔不会触发下落动画的问题

*.今日通过了导出测试

*.顺利的话明天能够完成第一关的所有演出

下班
X﹏X
2021-12-19 01:31:23 +08:00
Roman
2092d46d9e 任务:替换美术素材,实装动画
1.搭建佛教前置关卡
(1.制作地形碰撞体
(2.安排两个巡逻的爱欲品
(3.创建5个来回反复浮动的浮空平台

*.修复和优化
(1.修复被爱欲品附身后脚滑的问题
(2.修复爱欲品在复杂地形下行动速度异常问题

!:爱欲品无法被击飞问题等待修复,目测是Seek的问题

明天编写演出类框架
下班
2021-12-18 01:50:59 +08:00
Roman
5a5a0e220b 任务:替换美术素材,实装动画
1.替换一些美术素材
(1.替换炸弹贴图

2.实装一些新动画
(1.制作地藏之手拿钱的时候的动画
(2.制作爱欲品小怪动画
(3.制作伊斯兰小怪动画
(4.制作玩家开始交互和交互中动画
(5.制作镰刀飞行动画
(6.制作男童动画

*.优化和修复
(1.使木马喷射炸弹时,炸弹有扭矩
2021-12-17 23:33:40 +08:00
Roman
ca9a746b76 任务:搭建基本的系统
1.编写以撒逻辑
(1.继承于Enemy
(2.编写OnSave(男童)事件,当有男童被解救,会触发以撒的这个事件,后续逻辑等待讨论
(3.具有冲撞和闪电两种攻击方式,通过类似地藏的方式轮回随机决定攻击方式
(4.编写冲撞攻击逻辑
((*.创建鬼魂脚本
((*.创建鬼魂预制体,需要内含触发器
((1.当执行,以玩家为中心向周围一圈固定距离随机方向的某处召唤鬼魂,并记录下此时自身到玩家的方向
((2.等待一小段时间,令鬼魂以记录方向冲撞出去,利用Tweener动画营造一种先抖一下然后猛地创过来的感觉
((3.动画结束后,鬼魂逐渐消隐
((4.消隐结束后,删除游戏物体
((5.冲撞过程中具有攻击判定,若创到玩家,触发玩家的受击事件,同时获取主人的攻击力传给玩家
(3.编写闪电攻击逻辑
((1.当执行,在玩家头顶一定距离处生成鬼魂
((2.淡入显示鬼魂,一小段时间后,命令鬼魂发动落雷攻击
((3.发动时,激活场景内的巨型落雷,同时更改落雷的x位置到鬼魂的x,子物体具有触发器,(每帧)检测到玩家在内则对玩家造成伤害
((4.在极短的时间后关闭落雷同时开始淡出鬼魂
((5.淡出结束后删除游戏物体

2.编写男童逻辑
(1.继承于Interactive
(2.编写解救男童逻辑
((*.修改Interactive基类,新增OnCallCancel事件,当交互键抬起时触发一次
((*.新增男童状态的枚举类型,包含:wait、saving、OK三个状态
((*:新增一个变量记录男童状态
((1.重写OnCall事件,当OnCall,修改状态至saving
((2.Update回调中,若处于saving状态,则开始减少CDLeft,同时判断CDLeft是否耗尽,若耗尽,触发OnSave
((3.编写OnSave函数,修改状态至OK,通知owner自己已经OnSave
((4.重写OnCallCancel事件,当触发,判定状态,若处于saving状态,则修改状态至wait,恢复CDLeft
((*.使得玩家救人的时候无法移动,而当交互键抬起,重新获得移动能力
((*.修改可交互基类,当玩家交互过程中丢失catching,触发可交互物体的中断,同时告知玩家交互中断,触发中断事件
((5.解救结束后,通知玩家解救结束

至此,以撒的Boss逻辑还差首尾部分
加速吧
2021-12-17 01:27:10 +08:00
Roman
1cfe5ef4c0 任务:搭建基本的系统
1.替换和适配地藏关卡美术资源
2.编写玩家被敲钟攻击逻辑
(1.当钟抬起到落下期间,中幅度震动手柄和屏幕
(2.当撞钟能攻击到玩家,触发玩家annoying事件,当不能,且玩家正处于annoying状态,则触发玩家Outannoying事件。annoying事件中修改玩家beannoying标记,并编写减速减益状态,Outannoying事件中修改标记,并还原减益。Update中,若处于beannoying状态,则减少受击CDLeft,若CDLeft降到0以下则受击并击飞,并重置受击CDLeft。
(3.当撞钟攻击结束时玩家任然处于被干扰状态,触发玩家的脱离干扰事件
3.修改震动管理员类,新建一种无法被覆盖的震动
4.伸手的时候中幅度震动手柄和屏幕
5.修改敲钟攻击逻辑,使得敲钟时玩家无论在何处都要减速
6.手被攻击的时候中幅度震动手柄和屏幕
2021-12-15 00:07:36 +08:00
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
6253bd856c 任务:搭建基本的系统
1.实装一些美术素材

2.完成木马召唤小怪攻击逻辑
(1.修复伊斯兰小怪的炸飞方向丢失Bug
(2.给伊斯兰小怪两种被击飞模式,当被普通武器攻击,轻度正常击飞,当被炸弹炸飞,剧烈飞出

3.完成木马喷射炸弹攻击逻辑
(1.与召唤小怪逻辑类似
(2.创建炸弹类
(3.3次喷射,仅确定首次力度和方向,后两次依靠倍率改变力度

4.完成炸弹逻辑,用于召唤炸弹和喷射炸弹两种攻击方式
(1.碰到东西即爆炸
(2.有一个触发器表示爆炸范围,当有东西进入
,尝试获取被炸对象接口,如果有,则将其加入攻击列表,爆炸时对列表中的每一个对象造成伤害,攻击力来自于owner
(3.当有物体离开触发器,康康它是否在列表中,若在,将其移除

5.整理脚本

下班
2021-12-12 23:40:14 +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
83f327571f 任务:搭建基本的系统
1.搭建地藏测试场景
(1.放置单向平台
(2.限制摄像机范围
(3.设置相机跟踪
(4.放置图片素材

2.编写地藏boss逻辑
(1.继承自Enemy(内含基本的变量和事件)
(2.当玩家进入戒备范围,startContinue攻击功能

3.创建塞钱箱脚本
2021-12-08 18:56:47 +08:00
Roman
1619bedd77 任务:搭建基本的系统
1.编写基督小怪逻辑
(1.继承自爱欲品类(巡逻、发现、追踪、击飞、被击飞、死亡、转身等功能)
(2.重写Seek函数,因为爱欲品是一直Seek到玩家位置,而基督需要保留一定距离
((1.Seek时判断基督小怪与玩家的距离,同时指定一个public变量代表攻击范围。若此距离小于攻击范围,触发攻击事件,否则移动位置靠近player

(3.重写OnTouchThePlayer事件,使其与NormalEnemy一致
(4.新增攻击事件
((1.修改状态为atk
((2.创建一个基督闪电攻击器,作为预制体保存在JiDu中
((3.初始化攻击器
((4.等待攻击器触发攻击完毕信号,触发恢复事件(无语句)

(5.新增恢复事件
((1.修改状态为Seek

*:效果:依次降下指定数量的雷(触发器判定区),前一个结束后下一个才开始
2.编写攻击器逻辑,可以指定闪电道数、闪电位置间隔、两道闪电之间的间隔时间、每道闪电的持续时间、闪电的判定范围、攻击后硬直

*:整理脚本,添加注释、摘要、分层和属性特性

至此,基督小怪的逻辑开发完毕

至此,所有小怪的逻辑均开发完毕

通过导出测试

下班
2021-12-07 21:39:49 +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
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
2c278680cc 任务:搭建基本的系统
1.实装部分前期美术素材
(1.放置了一个临时背景
2.编写玩家状态机器雏形
(1.创建待机动画
(2.创建跑步动画
(3.将上述动画写入状态机,并编写脚本呼出动画

明天整,睡大觉,欧亚
嘲哳难为听
🥱
2021-11-30 23:08:26 +08:00