输入没有检测到(还指定输入)(Input not being detected (yet input

2019-10-23 02:56发布

我有以下功能来管理我的球员的枪的重装过程中我的比赛。 我把从AmmoCheck函数的函数,它运行,但if语句永远不会运行,因为输入没有得到检测。 该行:

的debug.log( “刷新功能检查”);

将打印到控制台,但没有进一步。

我已经确定了输入下编辑>项目设置>输入设置,并设置为r按钮。 ( 证明 - http://i.imgur.com/u2aVNpU.png )

功能:

void gunReload()
{
    Debug.Log("Reload function check");
    if (Input.GetButtonDown("Reload")) {

        Debug.Log("Reloading");
        if(changeWeapon.currentGun == changeWeapon.gunPistol) {
            aReload.SetActive(false);
            // Incrementing the aClipPistolCurrent value by 1 so the current clip "should" progress one along? idk
            aClipPistolCurrent += 1;
        }
        if(changeWeapon.currentGun == changeWeapon.gunAssault) {
            aReload.SetActive(false);
            // Incrementing the aClipPistolCurrent value by 1 so the current clip "should" progress one along? idk
            aClipAssaultCurrent += 1;
        }

    }       
}

函数调用gunReload();

gunAmmoCheck()被调用更新的内部()

void gunAmmoCheck()
{

    if(changeWeapon.currentGun == changeWeapon.gunPistol && aClipPistol[aClipPistolCurrent] > 0) {
        gunFire ();
        // Reducing the ammo of the current clip by 1.
        // ClipPistol is being used (say array, why array
        aClipPistol[aClipPistolCurrent] -= 1;
    }
    if(changeWeapon.currentGun == changeWeapon.gunAssault && aClipAssault[aClipAssaultCurrent] > 0) {
        gunFire ();
        // Reducing the ammo of the current clip by 1.
        // ClipPistol is being used (say array, why array
        aClipAssault[aClipAssaultCurrent] -= 1;
    }

    if(aClipPistol[aClipPistolCurrent] == 0)
    {
        Debug.Log ("Reload");
        // Activating the reload notification on the interface
        aReload.SetActive(true);
        gunReload();
    }
    if(aClipAssault[aClipAssaultCurrent] == 0)
    {
        Debug.Log ("Reload");
        // Activating the reload notification on the interface
        aReload.SetActive(true);
        noAmmo = true;
        gunReload();
    }
}

我茫然就在这里,因为我所有的其他投入工作得很好。 任何帮助将不胜感激。

Answer 1:

我只是测试这和它的工作。 我开始觉得问题出在哪里,你在呼唤从功能。 目前还不能确定,但

让我们慢慢地发现问题。 你可以注释掉那些东西在你的功能和只

 void gunReload ()
    {
        //Debug.Log ("Reload function check");
        if (Input.GetButtonDown ("Reload")) {

            Debug.Log ("Reloading");

        }       
    } 

在你的代码。 然后,从更新调用gunReload(),并告诉我,如果它的工作原理。 这也将是很好的姿态您致电gunReload()函数。



文章来源: Input not being detected (yet input is specified)
标签: c# input unity3d