当使用统一输入系统发生按钮按下事件时
when button pressed event happens using unity input system
我正在尝试制作一个 C# 脚本以使用 'Ink.Runtime' 创建对话,这部分代码试图在按下按钮时切换到新的文本行,但它赢了不起作用,它不断给我错误消息:
Assets\C# Scripts\DialogueManager.cs(37,13):错误 CS0103:名称 'InputManager' 在当前上下文中不存在
代码如下:
private void Update()
{
if (!dialogueIsPlaying)
{
return;
}
if (InputManager.GetInstance(). GetSubmitPressed())
{
ContinueStory();
}
}
我认为有一个问题是我没有定义 InputManager,或者可能是我仍在使用旧的输入系统,而这可以使用新的输入系统来编写。如果是其中任何一个,我将如何着手将 InputManager/converting 定义为较旧的输入系统。
我对使用 C# 进行编码比较陌生,因此找不到解决此问题的方法,非常感谢您的帮助!
如果您没有在代码中的任何位置声明 InputManager,那么您猜对了。为了使用新的输入系统,您需要定义输入操作(Brackeys 在此处描述得非常好 https://www.youtube.com/watch?v=Pzd8NhcRzVo)。
如果您需要 simlpe 解决方案,您可以使用旧的输入系统并检查是否像这样按下了特定的键 if (Input.GetKeyDown("space"))
- Unity documentation,但我真的建议检查新的输入系统,因为它将是长的更好 运行
我正在尝试制作一个 C# 脚本以使用 'Ink.Runtime' 创建对话,这部分代码试图在按下按钮时切换到新的文本行,但它赢了不起作用,它不断给我错误消息:
Assets\C# Scripts\DialogueManager.cs(37,13):错误 CS0103:名称 'InputManager' 在当前上下文中不存在
代码如下:
private void Update()
{
if (!dialogueIsPlaying)
{
return;
}
if (InputManager.GetInstance(). GetSubmitPressed())
{
ContinueStory();
}
}
我认为有一个问题是我没有定义 InputManager,或者可能是我仍在使用旧的输入系统,而这可以使用新的输入系统来编写。如果是其中任何一个,我将如何着手将 InputManager/converting 定义为较旧的输入系统。 我对使用 C# 进行编码比较陌生,因此找不到解决此问题的方法,非常感谢您的帮助!
如果您没有在代码中的任何位置声明 InputManager,那么您猜对了。为了使用新的输入系统,您需要定义输入操作(Brackeys 在此处描述得非常好 https://www.youtube.com/watch?v=Pzd8NhcRzVo)。
如果您需要 simlpe 解决方案,您可以使用旧的输入系统并检查是否像这样按下了特定的键 if (Input.GetKeyDown("space"))
- Unity documentation,但我真的建议检查新的输入系统,因为它将是长的更好 运行