我在我的场景中有一个按钮的代码,但我尝试使用相同的代码在同一场景中制作另一个按钮,但它没有工作。这是我到目前为止的代码:
for touch:AnyObject in touches {
let location = touch.locationInNode(self)
if playGameButton.containsPoint(location) {
let newScene = GameplayScene(size: self.size)
newScene.scaleMode = scaleMode
self.view?.presentScene(newScene)
}
}
同样,这只是一个按钮。当我将相同的代码用于另一个图像时,它不起作用。
答案 0 :(得分:3)
解决此问题的更好方法是使用SKSpriteNode对象作为按钮并设置其name属性以轻松区分多个按钮。例如,如果您有一个SKSpriteNode对象button1:
button1.name = "first"
然后在触摸方法中检查触摸的内容,您可以使用name属性:
SKNode node = self.nodeAtPoint(location)
if node.name == "first" {
// do something
}