@korolevsky_s
iOS Developer

Как перемещать объект только при клике по нему?

Чувствую, что я уже близок к цели! ) Объект реагирует только по клику на себя, но и перемещается только по своей границе.... Как исправить?

import SpriteKit

class GameScene: SKScene {
    
    //создаем свойство
    var figureUser = SKSpriteNode!()
    
    override func didMoveToView(view: SKView) {
        
        //инициализируем свойство
        figureUser = SKSpriteNode(imageNamed: "circle")
        
        //определяем позицию square на экране
        figureUser.position = CGPoint(x: 25, y: 25)
        
        //даем имя
        figureUser.name = "circle"
        
        figureUser.userInteractionEnabled = false
        
        //добавляем square на экран
        addChild(figureUser)
    }
    
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        
        let touch = touches.first
        let touchLocation = touch!.locationInNode(self)
        let node = self.nodeAtPoint(touchLocation)
        
        if (node.name == "circle") {
            
            let moveAction = SKAction.moveTo(touchLocation, duration: 0)
            
            figureUser.runAction(moveAction)
        }
    }
}
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@korolevsky_s Автор вопроса
iOS Developer
Сам спросил и сам ответил. ) Вместо touchesBegan нужно использовать touchesMoved.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы