这可能很容易,但我无法找到解决方案。我制作了一个对话系统,当玩家接下来要显示一个句子时,可以点击一个UI按钮。
问题是按钮只在onMouseclick上触发,我想将输入按钮更改为Enter。有谁知道如何解决这个问题?
答案 0 :(得分:0)
如果您需要确定是否首先选择了该按钮,建议您查看此页面:https://docs.unity3d.com/ScriptReference/UI.Selectable.IsHighlighted.html 如果您不想按下按钮以获得任何功能,您就不会将其链接到任何功能。
工作代码可能如下所示:
public class selectableExample : Selectable{
BaseEventData _event;
void Update()
{
if (IsHighlighted(_event) == true)
{
if (Input.GetKeyDown("enter")){
print("replace me with working function"); // whatever you want to have happen on button press
}
}
}
}
您只需将其附加到按钮上,它就会像按下一样响应。老实说,看起来你真的不需要一个按钮就可以了,但是你可能只用一个标签告诉玩家按下"输入"然后只需检查输入。
答案 1 :(得分:0)
您可以使用Event Trigger
组件来使用众多事件类型之一。选择Submit
(设置为在编辑>输入设置中输入并返回项目设置>默认情况下输入)。
请勿在{{1}}事件中设置任何内容。
现在唯一需要的是主动突出显示OnClick
某处的按钮。