Unity FPS类游戏单发装弹的实现

最近,在实现部分霰弹枪和狙击枪装弹的控制时遇到了很大的困难,努力了一天,终于想到了一个解决办法,效果还不错,希望可以帮助兄弟们避避坑,哈哈。

那我的例子来说,我有三个装弹的动画(Animation),分别是:

1、打开弹夹动画reload_open

2、子弹装入动画reload_insert

3、关闭弹夹动画reload_close

然而,我要实现的是(弹夹的容量为5):

首先,讨论弹夹剩余子弹和后备子弹之和大于等于5的情况:

1、当目前的弹夹为0,也就是子弹都打空了,此时装弹要播放的动画就是:

(1)、打开弹夹动画reload_open(播放1次)

(2)、子弹装入动画reload_insert(播放5次)

(3)、关闭弹夹动画reload_close(播放1次)

2、当目前的弹夹不为0,且小于5时,也就是子弹有剩余X时装弹,此时装弹要播放的动画是:

(1)、子弹装入动画reload_insert(播放5-X次)

(2)、关闭弹夹动画reload_close(播放1次)

然后,讨论弹夹剩余子弹和后备子弹之和小于5的情况:

假设后备子弹为Y(已知Y肯定小于5)

1、当目前的弹夹为0,也就是子弹都打空了,此时装弹要播放的动画就是:

(1)、打开弹夹动画reload_open(播放1次)

你可能感兴趣的:(动画,unity)