我有这个简单的功能,当有人点击屏幕时,函数内部的代码会执行,我知道函数中的代码可以工作,输入时我没有错误。
func reload(gestureRecognizer: UITapGestureRecognizer) {
let skView = self.view!
skView.presentScene(scene)
}
我有这个if语句,并且所有代码都工作,除非我在某个事件发生后运行该函数。在我尝试调用'reload()'的行中,我收到错误'使用未解析的标识符重新加载'。你能告诉我我做错了吗?谢谢!
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()
}
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()
}
答案 0 :(得分:1)
只需更改
reload()
到
reload(gestureRecognizer: nil)
和reload
方法参数应为UITapGestureRecognizer?
可选。
func reload(gestureRecognizer: UITapGestureRecognizer?) {
let skView = self.view!
skView.presentScene(scene)
}
另一个简短的方法是
更改使用UITapGestureRecognizer
...action: #selector(self.reload())...
表示只需调用(_:)
函数即可删除reload()
无需执行任何操作。