Задать вопрос
@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)
        }
    }
}
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    iOS-разработчик
    10 месяцев
    Далее
  • Coddyschool
    Стэнфордский курс Swift
    6 месяцев
    Далее
  • Академия Eduson
    IOS-Разработчик
    7 месяцев
    Далее
Решения вопроса 1
@korolevsky_s Автор вопроса
iOS Developer
Сам спросил и сам ответил. ) Вместо touchesBegan нужно использовать touchesMoved.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы