MacOS:在NSMenuItem快捷键入或鼠标按下之间进行标识

问题描述 投票:1回答:1

我有适用于Mac的Spritekit游戏。它包括菜单中的NSMenuItems和普通的Mac应用程序一样。现在就是这样

  • 如果我用鼠标从菜单中选择一个动作,Spritekit游戏会立即开始执行,并且会遗漏一些后续动画。
  • 如果我用键盘快捷键选择相同的动作,游戏会立即开始执行,但由于没有从菜单动画切换到游戏动画的延迟,所以没有动画丢失。

有没有办法确定菜单项发送的IBAction是由键盘等效还是鼠标触发?如果使用鼠标,我想为游戏动画添加一个开始延迟,并且没有延迟等效的键。

swift macos cocoa uikit nsmenuitem
1个回答
4
投票

可以通过阅读NSApp.currentEvent.type获得当前事件的类型。

有关详细信息,请参阅NSApp.currentEventNSEvent.type

© www.soinside.com 2019 - 2024. All rights reserved.