MacOS:识别键入的 NSMenuItem 快捷方式或按下鼠标
MacOS: Identify between NSMenuItem shortcut typed or mouse pressed
我有 Mac 的 Spritekit 游戏。与普通 Mac 应用程序一样,它在菜单中包含 NSMenuItems。现在的事情是
- 如果我用鼠标从菜单中选择一个动作,Spritekit 游戏会立即开始执行,并且会错过一些后续动画。
- 如果我使用键盘快捷键选择相同的操作,游戏会立即开始执行,但是 none 的动画会丢失,因为从菜单动画到游戏动画的切换没有延迟。
有什么方法可以确定菜单项发送的 IBAction 是由等效键盘还是鼠标触发的?如果使用鼠标,我想为游戏动画添加一个开始延迟,并且没有等效键的延迟。
读取NSApp.currentEvent.type
可以得到当前事件的类型。
详情见NSApp.currentEvent and NSEvent.type。
我有 Mac 的 Spritekit 游戏。与普通 Mac 应用程序一样,它在菜单中包含 NSMenuItems。现在的事情是
- 如果我用鼠标从菜单中选择一个动作,Spritekit 游戏会立即开始执行,并且会错过一些后续动画。
- 如果我使用键盘快捷键选择相同的操作,游戏会立即开始执行,但是 none 的动画会丢失,因为从菜单动画到游戏动画的切换没有延迟。
有什么方法可以确定菜单项发送的 IBAction 是由等效键盘还是鼠标触发的?如果使用鼠标,我想为游戏动画添加一个开始延迟,并且没有等效键的延迟。
读取NSApp.currentEvent.type
可以得到当前事件的类型。
详情见NSApp.currentEvent and NSEvent.type。