0

所以这个脚本应该在杂志之间切换,而不是填满杂志。发生的事情是第一次重新加载,即使动画发生了一切。直到您射击然后重新加载后,弹匣才会改变。即使 2 个是空的,再次重新加载也会在 4 个弹匣中的 2 个之间切换(这是可以预期的,因为如果有一个带子弹的弹匣,它可以切换)。

这是代码:

if (Input.GetAxis ("Reload") > 0 && reloading == false && pressedReload == false && runningAutomatic == false && mags[currMag] < magazineSize && animator.GetCurrentAnimatorStateInfo (0).IsName (shootAnim.name) == false) {
    for (int i = 0; i < mags.Length; i++) {

        if (mags [i] > 0) {
            Reload (currMag + 1);
            animator.SetFloat ("ReloadSpeed", reloadSpeed);
            animator.Play (reloadAnim.name);
            pressedReload = true;
            reloading = true;
        }
    }
}
reloading = animator.GetCurrentAnimatorStateInfo (0).IsName (reloadAnim.name);
    if (reloading)
        pressedReload = false;

...

void Reload (int currentMagazine) {

    if (currentMagazine == mags.Length)
    currentMagazine = 0;
    currMag = currentMagazine;
}
4

1 回答 1

0

只是忘记break;了 for 循环......感谢Serlite:D

于 2017-01-09T01:32:25.227 回答