【unity】学习制作类银河恶魔城游戏-3-

解决黏墙

当人物贴在墙上且不松开方向键时,人物会黏住一动不动,无法从空中落下

创建一个2d材料,命名为光滑的材料

应用给player

设置摩檫力为0

冲刺功能(计时器和增量时间)

Update函数每帧执行一次,经历一帧所耗费的时间就是增量时间deltatime
通过计算每一帧之间的时间增量,开发者可以确保游戏动画的平滑播放和角色的准确移动。

定义标签

编辑代码


调试

空间太小不利于施展身手,扩大一下

增加冲刺动画

完善状态树

修改代码

值得注意的是,为了防止跳跃过程中冲刺鬼畜,需要更改一下跳跃判定条件

解决无冲刺cd的问题

重构整理一下


攻击

创建Animation

三种Animation分别是三种不同攻击方式

劈砍

挥砍

重劈

完善状态机,增加判断条件和连击计数器

在地面上 && 按攻击 && 第一下 = playerAttack1 ,其余两个同理

过渡时间设置为0

完善攻击状态返回静止状态

值得注意的是,需要设置退出时间,即可以理解为平a的后摇

创建Header

写入动画控制器代码

写入输入控制器代码,当点下鼠标左键时,isAttacking为真,此时就会一直执行攻击动作

![](https://img2024.cnblogs.com/blog/3580628/202412/3580628-20241225233918606-383083853.png

定义一个停止攻击的函数,注意其为public,使其可以从外部访问

帧事件(如ENTER_FRAME事件)是在时间轴的播放头进入一个新帧时触发的事件。这种事件通常用于动画编程中,以实现基于帧的动画效果。

在最后一帧的动画中添加帧事件,事件可以在运行该帧时执行isAttack为假的函数,使其停止攻击

创建一个给该事件执行的脚本,应用给动画控制器

编写代码

添加帧事件所控制的函数

完成!但随之而来的是其他的bug如移动时攻击并不会停止移动,冲刺时也会攻击,跳跃时点鼠标在落地后会强制攻击

“这就像一个有很多洞的桶,每一个功能都是在桶上开洞,随之而来的是修洞也就越来越难”

posted @ 2024-12-26 00:26  plusu  阅读(149)  评论(0)    收藏  举报