实现一个shift键执行行走、奔跑、翻滚命令
不按或松开shift:行走
长按shift:奔跑
点按shift:翻滚
按照以上命令进行动作分配
先实现shift长按短按设置
新建宏如图配置
逻辑详解
这是利用gate节点实现长按短按的划分
按下shift后延迟执行长按门,先将门都打开后有两种情况
- 若在延迟时间之内抬起shift,则会关闭长按门执行短按门,实现短按事件后恢复行走速度
- 若在延迟时间之内未抬起shift则会在延迟后执行长按门,关闭短按门,实现长按事件
开始设置翻滚动画
启用翻滚动画根运动
新建混合空间,将八个方向的翻滚动画放置在四周,向后翻滚放在中间,正负1判定方向
根据键盘轴映射值来执行动画
在玩家蓝图中新建变量如下
获取键盘轴映射值,翻滚和攻击时禁止移动输入
在动画蓝图设置相同变量,将玩家蓝图获取的值设置到动画蓝图变量中
新建状态机,向混合空间输入值
在“是否在翻滚?”为turn时执行翻滚动画,false恢复到待机-走-跑
执行翻滚动画有三种情况
- 无移动输入时执行向后翻滚动画
- 无锁定有移动输入时执行向前翻滚动画
- 有锁定有移动输入时执行输入方向翻滚动画
先判定是否有移动输入
无移动输入设置输入值执行向后翻滚动画,延迟为动画执行时间
有移动输入时判定是否锁定,是则根据移动值设置动画,否则执行向后翻滚动画