如何调用我的手势识别功能

时间:2017-12-02 13:43:03

标签: ios swift

这是我的功能,当有人点击时,我希望代码被执行,我以编程方式添加它。

    func reload(gestureRecognizer: UITapGestureRecognizer?) {
        let skView = self.view!
        skView.presentScene(scene)
    }

我正试着打电话给它,但是没有办法让我尝试过,我的最新尝试就是这个,但我一直得到错误......“在我调用的行中使用未解析的标识符'reload'”在if语句中重新加载函数。重新加载(gestureRecognizer:nil)

    if score[0] >= 10 {
        pauseGame()

        let textLabel = SKLabelNode(fontNamed: "Helvetica")
        textLabel.fontSize = 30
        textLabel.fontColor = SKColor.white
        textLabel.position = CGPoint(x:  20, y: 20)
        textLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.center
        textLabel.text = "HELLO"
        addChild(textLabel)

        reload(gestureRecognizer: nil)

    }
    else if
        score [1] >= 10 {
        pauseGame()
        sleep(5)

        let textLabel = SKLabelNode(fontNamed: "ChalkboardSE-Bold")
        textLabel.fontSize = 30
        textLabel.fontColor = SKColor.white
        textLabel.position = CGPoint(x:  20, y: 20)
        textLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.center
        textLabel.text = "HELLO"
        addChild(textLabel)

        reload(gestureRecogniser: nil)

    }

请告诉我我做错了什么,谢谢!

2 个答案:

答案 0 :(得分:0)

在代码中搜索您使用“重新加载”的所有地点。其中一个最有可能是使用错误的类/目标。

您在上面显示的“重新加载”用法应该没有任何问题。我怀疑还有其他一些使用重装的东西尚未透露。

答案 1 :(得分:0)

如果您希望每次用户点按视图时调用该函数,则在故事板中,在视图顶部拖动UITapGestureRecognizer。然后,将识别器连接到代码中的“重载”功能作为动作功能。务必将@IBAction添加到函数中:

@IBAction func reload(gestureRecognizer: UITapGestureRecognizer?) {
    let skView = self.view!
    skView.presentScene(scene)
}

编辑:如果你不想每次都执行这个功能,那么你可以把你的if语句放在功能的开头:

@IBAction func reload(gestureRecognizer: UITapGestureRecognizer?) {
    if (score >= 10) {
        return
    }
    let skView = self.view!
    skView.presentScene(scene)
}