C# GetKeyDown(KeyCode.E)不是';行不通

C# GetKeyDown(KeyCode.E)不是';行不通,c#,unity3d,input,C#,Unity3d,Input,我最近制作了一个库存系统,但我无法像我想的那样让UI显示Input.GetKeyDown。这是我的密码: using UnityEngine; public class Inventory : MonoBehaviour { public GameObject invUI; public GameObject soulFragmentPanel; private void Update() { if(Input.GetKeyDown(KeyCo

我最近制作了一个库存系统,但我无法像我想的那样让UI显示Input.GetKeyDown。这是我的密码:

using UnityEngine;

public class Inventory : MonoBehaviour
{
    public GameObject invUI;
    public GameObject soulFragmentPanel;

    private void Update()
    {
        if(Input.GetKeyDown(KeyCode.E))
        {
            invUI.SetActive(true);
            soulFragmentPanel.SetActive(false);
        }

        if (Input.GetKeyUp(KeyCode.E))
        {
            invUI.SetActive(false);
            soulFragmentPanel.SetActive(true);
        }

        if (invUI.activeSelf)
        {
            soulFragmentPanel.SetActive(false);
        }
    }
}

你能在unity登记吗?关闭包含清单脚本的对象

您必须在单个画布中设置invUISoulfFragmentPanel,并在该画布中使用Inventory脚本


所以你的代码工作正常。

你能签入unity吗?关闭包含清单脚本的对象

您必须在单个画布中设置invUISoulfFragmentPanel,并在该画布中使用Inventory脚本


因此,您的代码工作正常。

一旦释放
E
键,您就可以关闭UI。另外,你说的是
GetKeyDown
,但你写的是code
GetKey
。这就是你想要的吗?哦,哎呀,哈哈,我忘了把它去掉,改成GetKeyDown。我正在测试这是否有效,但没有。另外,我也尝试过注释GetKeyUp,但这也不起作用。那么,当您按
E
时,您的
GameObject
是否在层次结构中启用了?也许父母是残疾人?
invUI
的内容是您想要的吗?他的孩子有残疾吗?在某些方面(
x
y
位置,错误的层,上面的东西,…)是否是
invUI
屏幕外的?你能发布你想要实现的和实际发生的事情的屏幕截图吗。。。您还可以发布层次结构的屏幕截图,以便在调试时查看对象的状态。@Malphegal No,在层次结构中未启用。我真的不知道发生了什么一旦你释放
E
键,你就关闭了用户界面。另外,你说的是
GetKeyDown
,但你写的是code
GetKey
。这就是你想要的吗?哦,哎呀,哈哈,我忘了把它去掉,改成GetKeyDown。我正在测试这是否有效,但没有。另外,我也尝试过注释GetKeyUp,但这也不起作用。那么,当您按
E
时,您的
GameObject
是否在层次结构中启用了?也许父母是残疾人?
invUI
的内容是您想要的吗?他的孩子有残疾吗?在某些方面(
x
y
位置,错误的层,上面的东西,…)是否是
invUI
屏幕外的?你能发布你想要实现的和实际发生的事情的屏幕截图吗。。。您还可以发布层次结构的屏幕截图,以便在调试时查看对象的状态。@Malphegal No,在层次结构中未启用。我真的不知道你怎么了!在对你所说的稍作调整之后,我让它按我所希望的方式工作!非常感谢你!在对你所说的稍作调整之后,我让它按我所希望的方式工作!