【问题标题】:Unity3d - Input.GetKey returns true more than onceUnity3d - Input.GetKey 多次返回 true
【发布时间】:2015-08-24 00:06:51
【问题描述】:

我想使用键盘输入在场景中移动我的对象。为了完成这项工作,我创建了一个空游戏对象并将.cs 文件附加到它。此.cs 文件的代码如下:

void Update()
{
     if (Input.GetKey ("up") ) {
         Debug.Log("up");
     }
     else if (Input.GetKey ("down") ) {
         Debug.Log("down");
     }
 }

我按下向上键仅一次,它在 condole 上写入输出字符串 7 次。我不应该用这个函数来处理键盘输入吗?

【问题讨论】:

  • 也许Input.GetKeyDown 是你所追求的?
  • GetKeyDown 只返回一次 true。

标签: c# unity3d event-handling keyboard


【解决方案1】:

请参考http://docs.unity3d.com/ScriptReference/Input.GetKey.html

当用户按住由名称标识的键时返回 true。 想想自动开火

如果您查看输入类,您会发现其他更有用的函数。

【讨论】:

  • GetKeyDown 只返回一次。谢谢。
  • Unity 手册不错,不要忽视。它应该永远是你的第一个选择,而不是你的最后一个。
猜你喜欢
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 2014-07-14
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多