【发布时间】:2021-08-10 06:34:11
【问题描述】:
我是一名新程序员,正在尝试在 Unity 中制作游戏,我想制作一个 if 语句来感知何时按下右箭头键。 到目前为止,这对我来说一直是用字母键工作的:
if (Input.GetKey("d")) {
//Code would be here
}
我已经看过了,但我找不到任何可以替换字母串的东西,所以它会感应到按下右箭头按钮。
【问题讨论】:
我是一名新程序员,正在尝试在 Unity 中制作游戏,我想制作一个 if 语句来感知何时按下右箭头键。 到目前为止,这对我来说一直是用字母键工作的:
if (Input.GetKey("d")) {
//Code would be here
}
我已经看过了,但我找不到任何可以替换字母串的东西,所以它会感应到按下右箭头按钮。
【问题讨论】:
有一个 Enum KeyCode 列表。
你需要的是KeyCode.RightArrow。
您可以在Unity Docs 和.NET API documentation 中看到它
【讨论】:
查看下面的代码以检测右箭头键被按下。将此代码放入Update()
if (Input.GetKeyDown(KeyCode.RightArrow))
{
Debug.Log("right Arrow key pressed");
}
如果要使用其他箭头,请使用KeyCode.LeftArrow、KeyCode.UpArrow、KeyCode.DownArrow
【讨论】:
只是想补充一点信息:
您可以在按键时获得三种类型的事件。
if (Input.GetKeyDown(KeyCode.RightArrow))
{
print("right Arrow key pressed");
}
if (Input.GetKeyUp(KeyCode.RightArrow))
{
print("right Arrow was released");
}
if (Input.GetKey(KeyCode.RightArrow))
{
print("right Arrow is held down");
}
【讨论】: