1. 检测长按事件
bool LongPress(KeyCode key_event)
{
if (Input.GetKeyDown(key_event))
{
long_press_flag = false;
keyFrame = 0;
}
if (Input.GetKey(key_event))
{
keyFrame++;
if(keyFrame>15)
{
keyFrame = 0;
long_press_flag = true;
}
}
if (Input.GetKeyUp(key_event))
{
long_press_flag = false;
//抬起后清空帧数
keyFrame = 0;
}
return long_press_flag;
}
可以看出Input.GetKeyUp
, Input.GetKey
, Input.GetKeyDown
的区别,分别是检测按键抬起、按键按住和按键按下。
2. 获取当前按键
void OnGUI()
{
if (Input.anyKeyDown)
{
key_value = Event.current.keyCode.ToString();
Debug.Log("--------key_value----------:" + key_value);
}
}
3. unity 按键的绑定
一般直接通过按钮设置中的On Click
,选择某个物体下挂载的脚本下的click函数即可。

参考
- Unity 获取当前按键
https://gameinstitute.qq.com/community/detail/116315
网友评论