C# GetKeyDown(KeyCode.E)不是';行不通
我最近制作了一个库存系统,但我无法像我想的那样让UI显示Input.GetKeyDown。这是我的密码: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
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登记吗?关闭包含清单脚本的对象 您必须在单个画布中设置invUI和SoulfFragmentPanel,并在该画布中使用Inventory脚本
所以你的代码工作正常。你能签入unity吗?关闭包含清单脚本的对象 您必须在单个画布中设置invUI和SoulfFragmentPanel,并在该画布中使用Inventory脚本
因此,您的代码工作正常。一旦释放
E
键,您就可以关闭UI。另外,你说的是GetKeyDown
,但你写的是codeGetKey
。这就是你想要的吗?哦,哎呀,哈哈,我忘了把它去掉,改成GetKeyDown。我正在测试这是否有效,但没有。另外,我也尝试过注释GetKeyUp,但这也不起作用。那么,当您按E
时,您的GameObject
是否在层次结构中启用了?也许父母是残疾人?invUI
的内容是您想要的吗?他的孩子有残疾吗?在某些方面(x
,y
位置,错误的层,上面的东西,…)是否是invUI
屏幕外的?你能发布你想要实现的和实际发生的事情的屏幕截图吗。。。您还可以发布层次结构的屏幕截图,以便在调试时查看对象的状态。@Malphegal No,在层次结构中未启用。我真的不知道发生了什么一旦你释放E
键,你就关闭了用户界面。另外,你说的是GetKeyDown
,但你写的是codeGetKey
。这就是你想要的吗?哦,哎呀,哈哈,我忘了把它去掉,改成GetKeyDown。我正在测试这是否有效,但没有。另外,我也尝试过注释GetKeyUp,但这也不起作用。那么,当您按E
时,您的GameObject
是否在层次结构中启用了?也许父母是残疾人?invUI
的内容是您想要的吗?他的孩子有残疾吗?在某些方面(x
,y
位置,错误的层,上面的东西,…)是否是invUI
屏幕外的?你能发布你想要实现的和实际发生的事情的屏幕截图吗。。。您还可以发布层次结构的屏幕截图,以便在调试时查看对象的状态。@Malphegal No,在层次结构中未启用。我真的不知道你怎么了!在对你所说的稍作调整之后,我让它按我所希望的方式工作!非常感谢你!在对你所说的稍作调整之后,我让它按我所希望的方式工作!