Перетаскивание узла SKSpriteNode - PullRequest
0 голосов
/ 06 октября 2018

Это было решено в Как перетащить спрайт в Swift 3.0? .

Но ... это дает мне плохую задержкумежду пальцем и спрайтом.С Xcode попробуйте создать приложение iOS Game с нуля, используя SpriteKit.Закомментируйте весь код обработки касания и замените его следующим

   override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
        let t = touches.randomElement()!
        self.spinnyNode?.position = t.location(in:self)
    }

(вам также придется сделать несколько очевидных вещей, чтобы spinnyNode оставался видимым.)

Результат показан здесь на http://andrewduncan.net/drag/drag2.m4v

В следующих постах все рекомендуется тот же подход - установка position в touchesMoved().

Я реализовал хакерский взлом (см. Использование SpriteKit внутри UIKit ), где у меня есть маленькийSKViews (по одному на спрайт), которые можно быстро перетаскивать с помощью UIGestureRecognizers.Но каждому представлению нужен свой SKScene, который кажется обратным (или ортогональным?) Первоначальному замыслу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...