【发布时间】:2021-08-02 10:27:53
【问题描述】:
我正在使用 unity 3D 在 Mac 上导出 Windows 游戏,但遇到一些键绑定问题:CTRL、ALT、CMD 和 SHIFT 键完全不被识别(没有错误)。
我使用以下代码查看是否检测到任何内容,它适用于所有键,除了 CTRL、ALT、CMD 和 SHIFT.
void OnGUI()
{
Event e = Event.current;
//vérifier si une touche est bien pressée
if (e.isKey)
{
Debug.Log("Detected key code: " + e.keyCode);
txt.text = e.keyCode.ToString();
txt2.text = "normal";
}
if(e.modifiers == EventModifiers.Alt)
{
txt.text = e.keyCode.ToString();
txt2.text = "modif";
}
}
有没有办法使这项工作?提前致谢。
【问题讨论】:
-
cmd/alt/ctrl 是键修饰符。查找事件修饰符标志
-
@MarekH 我尝试了你的想法,但仍然无法识别。我使用以下代码制作了一个测试代码:e.modifiers == EventModifiers.Alt 只是为了查看是否检测到 alt,不,它不是(它在 windows 上但不在 macOS 上)。
-
你是和修饰符一起按键吗?你能更新一下你检查修饰符的代码吗?
-
@MarekH 不,只按一个键...更新了代码。
-
如果你只按修饰键,我不确定是否会触发/传递事件