swift - 如何用我的 SKScene 捕捉鼠标右键事件

标签 swift sprite-kit swift3 mouseevent skscene

我已经重写了 rightMouseDown(with event:) 函数,但是什么都不会发生,即使是简单的 print() 也不会发生?我还需要做什么吗? mouseDown() 函数虽然可以正常工作...

有什么线索吗?

最佳答案

已解决!

由于右键单击默认保留给弹出菜单,您需要添加一个扩展来覆盖 rightMouseDown() 并将事件重定向到场景的事件。

这是我在另一个线程上找到的解决方案并且有效(Swift 3)

extension SKView {

open override func rightMouseDown(theEvent: NSEvent) {
    self.scene?.rightMouseDown(theEvent)
}

关于swift - 如何用我的 SKScene 捕捉鼠标右键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41271182/

相关文章:

ios - 代码 : Labels placed in Storyboard won't appear in the App Simulation

ios - 是否可以在 Sprite Kit 中将一个场景推到另一个场景之上?

ios - 通过单击 UITableView 单元格向后传递数据 - iOS/Swift

ios - touchesBegan 与 UITapGestureRecognizer

ios - 在 Swift 中的某个时间后使用 sprite 工具包更改场景?

ios - 如何使用 Core Data 按部分字母顺序对 tableView 中的数据进行排序?

ios - 如何在 UIDatePicker 中隐藏日期

ios - 在 iOS 13.2 中,当包装在普通 UINavigationViewController 中时,SwiftUI 表单 TextField 消失

ios - 带有 SWRevealViewController 的 Exc_bad_instruction

ios - 如何将 UITableViewCell 中 textField 的值获取到 textFieldDelegate 方法 shouldChangeCharactersIn 中?