如何使两个键 Ctrl + S 按下组合键?

丹尼尔·利普
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SaveGameTest : MonoBehaviour
{
    public SaveLoad saveLoad;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.S))
        {
            saveLoad.SaveWithTime();
        }
    }
}

这样做只是什么都不做。

在行上使用断点:

saveLoad.SaveWithTime();

如果我仅按 Ctrl 或仅按 S 或同时按 Ctrl + S,则永远不会到达此行

我想要组合 Ctrl + S 进行保存。

但是当我按下 Ctrl + SI 看到消息时,我看到 Ctrl + S 正被编辑器占用:

信息

所以我有两个问题:

  1. 如何让组合键同时按下?

  2. 如果 Ctrl + S 已被编辑器采用,哪些组合键可以作为保存逻辑?

雨果

您不太可能在完全相同的框架中按下两个按钮。Input.GetKeyDown

在用户开始按下由 key KeyCode 枚举参数标识的键的帧期间返回 true

而跟踪连续使用压机的第一个Input.GetKey

用户按住由 key KeyCode 枚举参数标识的键时返回 true

if(Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.S))

如果 Unity 根本不允许 CTRL+S,那么您可以使用依赖于平台的编译伪造它,例如

#if UNITY_EDITOR
    if(Input.GetKey(KeyCode.LeftAlt) && Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.S))
#else
    if(Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.S))
#endif

所以仅对于编辑器它是 CTRL+ALT+S 而稍后在构建的应用程序中它将是 CTRL+S

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当某个单元格的值=“ 1”时,自动按下组合键(例如Ctrl + Alt + x)

HostListener分析组合键按下

使用applescipt按alt + s组合键

如何在Autohotkey中发送Ctrl + F组合键

AHK if 语句 - 基于按下的组合键运行指令

按下组合键时执行功能

组合键输入和特殊按键按下

从 Android Teamviewer 发送 Alt Shift 和 Ctrl 组合键

在JavaScript中捕获Ctrl + Z组合键

Java在jtree上检测CTRL + X组合键

Windows组合键ctrl + alt + del的模拟

Ubuntu 14.04 LTS组合键“ Ctrl +”不会放大窗口

Vim:映射ctrl + pgup和ctrl + pgdn(CTRL + Page Up / Down)组合键

如何制作一个组合键(例如Ctrl + tab)的快捷键,用于在崇高文本中的两列之间更改焦点

在visual studio代码中如何在组合[alt + ctrl + ']中组合键[`]?

如何在输入中绑定两个键盘键,例如Ctrl + L

在Python中按组合键分组

中断组合键(例如 CTRL-C)如何以及何时转换为信号?

如何在组合键CTRL + i上用<em>包围textarea内的选定文本?

如何在Embarcadero C ++ Builder中检测Ctrl + P组合键

按下组合键时聚焦用户控件的子控件

使用相同的组合键联接两个表

组合键 (CTRL + F9) 导致调用方法,只有在按下 F9 时才应调用

我可以禁用CTRL + ALT + ArrowKey组合键来支持Windows 10虚拟桌面吗?

带有KDE的linux,禁用CTRL + F9组合键

Windows 10 Pro(1903版)中的“ Ctrl + Alt + Shift + F”组合键有什么作用?

VirtualBox VM 上的 Xubuntu 看不到 CTRL-Fn 组合键

组合键(例如ctrl,alt或shift)在ubuntu 16.04上不起作用

在VIM中产生信号“ Ctrl- ^”的键盘组合键是什么?