这是我的功能,当有人点击时,我希望代码被执行,我以编程方式添加它。
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)
}
请告诉我我做错了什么,谢谢!
答案 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)
}