Unity C# - 重新加载脚本无法正常工作

时间:2017-01-09 01:22:23

标签: c# unity3d reload gun

所以这个剧本应该通过杂志切换,而不是填充杂志。第一次重装会发生什么,甚至是第一次重装。动画发生了一切。在您拍摄然后重新加载之前,该杂志不会发生变化。再次重新加载将在4个杂志中的2个之间切换,即使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;
}

1 个答案:

答案 0 :(得分:0)

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