При попытке перетащить SKSpriteNodes с помощью функции touchesMoved код, который позволяет мне перетаскивать спрайты, не работает, когда я пытаюсь их пронести.Как использовать UISwipeGestureRecognizer вместо touchsMoved с Swift и SpriteKit?
Это то, что у меня есть:
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?){
for touch: AnyObject in touches{
let location = touch.locationInNode(self)
let touchedNode = self.nodeAtPoint(location)
let MySprite = SKSpriteNode(imageNamed: "image.png")
if touchedNode == MySprite{
MySprite.position = location
}
}
}
Это то, что я пытаюсь сделать:
func swipedRight(sender:UISwipeGestureRecognizer){
let MySprite = SKSpriteNode(imageNamed: "image.png")
let touch = UITouch()
let location = touch.locationInNode(self)
let touchedNode = self.nodeAtPoint(location)
if touchedNode == MySprite{
MySprite.position = location
}
}
override func didMoveToView(view: SKView) {
let swipeRight:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedRight"))
swipeRight.direction = .Right
view.addGestureRecognizer(swipeRight)
}
Но когда я пытаюсь ударить спрайт, я получаю ошибку SIGABRT. Я просмотрел множество источников и не видел ответа на такой вопрос.
Может кто-нибудь, пожалуйста, дайте мне совет о том, как перетаскивать SKSpriteNodes с помощью UISwipeGestureRecognizer?
Есть ли способ, чтобы перетащить спрайты? Код, который вы показываете, как перетаскивать просмотры – BroFist5
Это намного лучше. большое спасибо –