上一篇:
【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”
此时运行游戏效果如文章开头所示