unity 最小后监听键盘输入

当Untiy最小化后,游戏窗口不会立刻失去焦点,此时依然可以使用Input来获取按键,但是点击其他窗口后,就会失去焦点,此时系统会把按键输入分配到其他窗口里,此时要用windowsAPI获取按键输入,应对两种情况的代如下

csharp 复制代码
  [DllImport("user32.dll")]
  public static extern short GetAsyncKeyState(int vKey);
  public const int VK_3 = 0x33; // 数字键3的虚拟键码
  public const int VK_NUMPAD3 = 0x63; // 数字键3的虚拟键码
private void Update()
{
    if (!Application.isFocused)
    {
       //如果点了桌面或别的窗口,会触发windowsapi
        if (GetAsyncKeyState(VK_3) != 0|| GetAsyncKeyState(VK_NUMPAD3) != 0)
        {
            RestoreWIndow();//恢复窗口
        }
    }
    else  //最小化后,如果没有在别的地方点击鼠标,此时untiy还没有失去焦点,直接按3会触发Untiy输入
    {
        if (Input.GetKeyDown(KeyCode.Alpha3) || Input.GetKeyDown(KeyCode.Keypad3))
        {
            RestoreWIndow();//恢复窗口
        }
    }
}
相关推荐
weixin_423995001 小时前
unity 读取csv
unity·c#
EQ-雪梨蛋花汤8 小时前
【Flutter】Flutter + Unity 插件结构与通信接口封装
flutter·unity·游戏引擎
折纸星空Unity课堂8 小时前
Unity之基于MVC的UI框架-含案例
ui·unity·mvc
暴走约伯8 小时前
【3DMax脚本MaxScript开发:创建高效模型虚拟体绑定和材质管理系统,从3DMax到Unreal和Unity引擎_系列第一篇】
3d·unity·材质·unreal·maxscript
SlowFeather17 小时前
Unity 使用 ADB 实时查看手机运行性能
android·unity·adb·性能优化·profiler
小赖同学啊1 天前
Unity 和 Unreal Engine(UE) 两大主流游戏引擎的核心使用方法
unity·游戏引擎·虚幻
AgilityBaby1 天前
unity Animation学习,精准控制模型动画播放
学习·3d·unity·游戏引擎
EQ-雪梨蛋花汤1 天前
【Flutter】Unity 三端封装方案:Android / iOS / Web
android·flutter·unity
foenix661 天前
PicoVR眼镜在XR融合现实显示模式下无法显示粒子问题
android·unity·c#·xr·pico
WarPigs1 天前
Unity任务系统笔记
笔记·unity·游戏引擎