Я создаю игру, в которой пользователь может перемещать фрукты по сцене. Я хочу, чтобы пользователь мог перемещать только фрукты, а не любой другой SKSpriteNode в сцене, поэтому я написал код ниже для его реализации. Однако код не работает должным образом, так как мне кажется, что я не могу перетаскивать какие-либо из моих спрайтов, а они меняют положение только тогда, когда я перестаю касаться экрана, и они все равно не двигаются.
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first
if let location = touch?.location(in: self){
let nodesTouched = nodes(at: location)
for node in (nodesTouched) {
if node is Fruit{
for t in touches {
let locationMoved = t.location(in: self)
node.position.x = locationMoved.x
node.position.y = locationMoved.y
}
}
}
}
}
Кто-нибудь знает, что с ним не так?
Заранее спасибо!