MACOS:识别NSMENUITEM快捷方式打字或按下鼠标



我有Mac的SpriteKit游戏。它在菜单中与普通MAC应用程序一样包括NSmenuitems。现在是

  • 如果我用鼠标从菜单中选择一个动作,则SpriteKit游戏会立即开始执行,并且错过了一些随后的动画。
  • 如果我使用键盘快捷键选择相同的操作,则游戏立即开始执行,但由于没有延迟从菜单动画转换为游戏动画,因此没有任何动画。

是否有某种方法可以识别菜单项发送的IBACTION是由键盘等效触发还是由鼠标触发?如果使用鼠标,我想在游戏动画中添加一个启动延迟,而不是键等效的延迟。

可以通过读取NSApp.currentEvent.type

获得当前事件的类型

有关详细信息,请参见nsapp.currentevent和nsevent.type。

最新更新