1

笔记:

在提出这个问题之前,我已经查看并尝试了针对以下问题发布的解决方案:

语境:

我按照此处设置的示例为我的游戏实现了一个基本的游戏菜单。

当我到达时,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。我指定一个,因为由于菜单的实现,所有的SKViews 共享相同的GameViewController. 此外,GameScene只有在通过菜单到达时才会创建,并在游戏结束后销毁(因此创建GameScene全局变量也不起作用)。

4

0 回答 0