上一篇:
【UE4 第一人称射击游戏】17-重写换弹逻辑
本篇效果:

步骤:
1.打开“SWAT_AnimBP”,在动画图表中,添加一个名为“Reloading”的状态

完善过渡规则的连线

双击打开“Reloading”,添加换弹动画

2. 打开“ThirdPersonCharacter”,添加一个布尔型变量,命名为“IsReloading”

双击打开“Reload”方法
当换弹的时候,将“IsReloading”变量设置为True

添加返回节点
添加引脚到返回节点



3.返回“ThirdPersonCharacter”的事件图表,可以看到“Reload”方法多了两个输出引脚

只要“Reload”的两个输出有一个为真,就设置等待一段时间,让换弹的动画播放完成,然后再设置“IsReloading”为False

那么具体要延迟多久呢?
可以打开换弹的动画:

可以看到播放一次动画用时为3.3秒
所以我们设置延迟时间也为3.3秒

4.现在回到“SWAT_AnimBP”中去编辑“Reloading”转换到其它状态的规则
首先在事件图表中获取到“ThirdPersonCharacter”中的“IsReloading”变量

将其提升为变量

命名为“IsReloading”
开始编辑“Reloading”转换到其它状态的规则

首先编辑“Idle”到“Reloading”的规则


编辑“Walk_Run”到“Reloading”


编辑“Reloading”到“Idle”


编辑“Reloading”到“Walk_Run”

此时运行游戏效果如文章开头所示




![[从零开始]用python制作识图翻译器·一](https://img-blog.csdnimg.cn/95f3b38473e14a2eb54b290773a95eef.gif)

![Azure 深入浅出[3]: 如何在MS Visio里面画专业的Azure技术架构图?](https://img-blog.csdnimg.cn/71b9737f0a0743eb83699132587761ba.png)












