解决黏墙
当人物贴在墙上且不松开方向键时,人物会黏住一动不动,无法从空中落下
创建一个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如移动时攻击并不会停止移动,冲刺时也会攻击,跳跃时点鼠标在落地后会强制攻击
“这就像一个有很多洞的桶,每一个功能都是在桶上开洞,随之而来的是修洞也就越来越难”