Я пытаюсь сделать кнопку, которая является SKLabelNode
. Когда он нажимается, он должен менять сцены, но что-то не так с линией, где объявлено местоположение.Ошибка при нажатии кнопки Sprite Kit | Swift
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
super.touchesBegan(touches, withEvent: event)
let location = touches.locationInNode(self)
let touchedNode = self.nodeAtPoint(location)
if touchedNode.name == "startGameButton" {
let transition = SKTransition.revealWithDirection(SKTransitionDirection.Down, duration: 1.0)
let scene = GameScene(size: self.scene.size)
scene.scaleMode = SKSceneScaleMode.AspectFill
self.scene.view.presentScene(scene, transition: transition)
}
}
Ошибка здесь, на линии.
let location = touches.locationInNode(self)
Он читает
'Set < NSObject>' не имеет элемент с именем 'locationInNode'
Я не уверен, как это исправить. Я просмотрел много шаблонов рабочих кнопок, но у меня всегда есть ошибка.
Google «Set < NSObject>„не есть член с именем“locationInNode» – sangony
Вы также можете попробовать эту кнопку Sprite набор, он работает как родной UIButton из UIKit https://github.com/rogermolas/ RMSpriteButton/blob/master/RMSpriteButton/RMSpriteButton.swift – Roger