最近由于一个针对摄象头的复位的需要,涉及到了组合键的检测,在探索的过程中遇到了一些容易忽视的问题,因此在这记录一下,以免日后忘记;
在最开始的构思阶段的时候,我本能的想到了这个方法:
if(Input.GetKey(KeyCode.LeftControl) && Input.GetKey(KeyCode.R))
{
//TODO : 功能模块
Debug.Log("IN");
}
但是当时试验的时候,并未打包发布,而是直接在unity中进行的。因此,该代码并未起作用。
又在各个网站上搜索后,又得到了如下的方案:
private void OnGUI()
{
//检测输入事件
if (Event.current.rawType == EventType.KeyDown)
{
EventCallBack(Event.current);
}
}
private void EventCallBack(Event e)
{
bool eventDown = (e.modifiers & EventModifiers.Control) != 0;
if (!eventDown) {
return;
}
//仅需检测单个键值时使用
if (e.keyCode == KeyCode.R)
{
//TODO : 功能模块
Debug.Log("IN&#