笔记:
在提出这个问题之前,我已经查看并尝试了针对以下问题发布的解决方案:
语境:
我按照此处设置的示例为我的游戏实现了一个基本的游戏菜单。
当我到达时,GameScene
我想要一个UIGestureRecognizer
,当屏幕向上滑动时,打开一个暂停菜单。然而,在专注于暂停菜单的实现之前,我首先需要它UIGestureRecognizer
来工作。
在我的GameScene
中,我添加了一个功能:
func swipedUp(_ sender: UISwipeGestureRecognizer){
print("up")
}
和里面override fund didMove(to view: SKView)
:
let swipeUpRecognizer:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(self.swipedUp(_:)))
swipeUpRecognizer.direction = .up
view.addGestureRecognizer(swipeUpRecognizer)
这不起作用。对于第一行(以 开头let
),我尝试了几种变体,例如:
let swipeUpRecognizer:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp"))
let swipeUpRecognizer:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp:"))
以及swipedUp
功能的变化,例如
func swipedUp(receiver: UISwipeGestureRecognizer){
print("up")
}
问题
如何添加一个简单UIGestureRecognizer
到只有一个 SKView
。我指定一个,因为由于菜单的实现,所有的SKView
s 共享相同的GameViewController
. 此外,GameScene
只有在通过菜单到达时才会创建,并在游戏结束后销毁(因此创建GameScene
全局变量也不起作用)。