SKSpriteNode перемещает движение прикосновением

Я пытаюсь перетащить SKSpirteNode по экрану, коснувшись экрана. Но я хочу иметь возможность делать постоянное движение Sprite, в настоящее время мой код только перемещает спрайт в местоположение моего касания, но если я удерживаю и перемещаю спрайт, то не последует. Более того, я не хочу "иметь" касаться SKSpriteNode, чтобы активировать движение, я хочу коснуться в любом месте экрана и получить ответ от этого SKSpriteNode.

Вот мой текущий код:

class GameScene: SKScene {
   override func didMoveToView(view: SKView) {
    // SpriteNode I want to drag around
    basket = SKSpriteNode(texture: basketTexture)
    self.addChild(basket)
   }

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    /* Called when a touch begins */

    var nodeTouched = SKNode()
    var currentNodeTouched = SKNode()

    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)

        nodeTouched = self.nodeAtPoint(location)
        basket.position = location

    }

Спасибо, спасибо за помощь.

+1
источник поделиться
1 ответ

Я решил это, используя func touchhesMoved вместо touchhesBegan и работает отлично и плавно. вот окончательный код:

class GameScene: SKScene {
 override func didMoveToView(view: SKView) {
// SpriteNode I want to drag around
basket = SKSpriteNode(texture: basketTexture)
self.addChild(basket)
}

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
/* Called when a touch begins */

var nodeTouched = SKNode()
var currentNodeTouched = SKNode()

for touch: AnyObject in touches {
    let location = touch.locationInNode(self)

    nodeTouched = self.nodeAtPoint(location)
    basket.position = location

}
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос