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();//恢复窗口
        }
    }
}
相关推荐
_Evan_Yao3 小时前
游戏和编程两不误:用Unity做一个简单小游戏
后端·游戏·unity·游戏引擎
冰凌糕4 小时前
Unity3D Shader 渲染状态详解
unity
郝学胜-神的一滴5 小时前
[简化版 GAMES 101] 计算机图形学 10:反走样与深度缓冲核心解析
c++·unity·godot·图形渲染·three.js·unreal engine·opengl
技术探讨者1 天前
极境导表工具 —— 让配置数据成为游戏开发的效率引擎
unity·编辑器·ai编程·游戏策划
游乐码1 天前
Unity基础(六)小案例
游戏·unity·游戏引擎
Sator11 天前
Unity2022版接入MCP
unity·ai编程
mxwin2 天前
Unity Shader URP 使用模板测试 · 深度测试实现秘境空间效果
unity·游戏引擎·shader
真鬼1233 天前
【Unity 6】Unity6快捷下载,快速下载
unity·游戏引擎
会潜水的小火龙3 天前
unity打包apk报错Failure to initialize问题解决方法
unity·游戏引擎
平行云3 天前
实时云渲染平台数据通道,支持3D应用文件上传下载分享无缝交互
linux·unity·云原生·ue5·gpu算力·实时云渲染·像素流送