U4S1L2——键盘输入
U4S1L2——键盘输入
本章代码关键字
1 | UnityEngine.InputSystem //InputSystem的命名空间 |
获取当前键盘设备
需要引用命名空间UnityEngine.InputSystem
新输入系统提供了对应的输入设备类,帮助我们对某一种设备输入进行检测
1 | Keyboard keyboard = Keyboard.current; //获取当前活跃的键盘设备 |
单个按键按下抬起长按
首先要得到某一个按键,通过 键盘类Keyboard
对象 点出 各种按键KeyControl
对象 来获取,格式如下keybroad.___key
这里用a键举例,获取a键通过keyboard.aKey
这种属性获取
-
按下
1
2
3
4
5
6
7
8void Update()
{
//空格键 当前帧 是否按下
if (Keyboard.current.spaceKey.wasPressedThisFrame)
{
print("空格按下");
}
} -
抬起
1
2
3
4
5
6
7
8void Update()
{
//D键 当前帧 是否抬起
if (Keyboard.current.dKey.wasReleasedThisFrame)
{
print("D键抬起");
}
} -
按住
1
2
3
4
5
6
7
8void Update()
{
//空格键 当前帧 是否按住中
if (Keyboard.current.spaceKey.isPressed)
{
print("空格正在被按住");
}
}
通过事件监听按键按下
通过给keyboard
对象中的 文本输入事件 添加委托函数,便可以获得每次输入的内容
1 | void Start() |
任意键按下监听
可以处理 任意键 按下 抬起 长按 相关的逻辑
1 | //注意,这里是只要有按键被按下就会触发,如果是一个按键被按住时,另一个按键按下则不触发 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!