Я делаю игру в SpriteKit. У меня огромная проблема, я не могу найти в Интернете и даже на веб-сайте Apple способ найти узел между двумя местоположениями (CGPoint). В методе UiSwipeGesture вы не можете найти Swipe в любом направлении, а только влево, вправо, вверх, вниз.
Поэтому я нашел другие методы (см. код ниже), чтобы сделать слайд, но я не могу найти способ понять, что между двумя позициями есть какой-то узел.
Кто-нибудь может мне помочь? Спасибо
Код здесь:
var locationBegan : CGPoint = CGPoint()
var locationEnded : CGPoint = CGPoint()
var objectbegan : SKNode = SKNode()
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches
{
let location: CGPoint! = touch.locationInNode(self)
self.locationBegan = location
var nodeAtPoint : SKNode = self.nodeAtPoint(location)
self.objectbegan = nodeAtPoint
}
}
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location: CGPoint! = touch.locationInNode(self)
self.locationEnded = location
var nodeAtPoint : SKNode = self.nodeAtPoint(location)
var finalDestination : CGPoint = GetFinalDestination(location, nodeAtPoint: self.objectbegan)
nodeAtPoint.runAction(SKAction.moveTo(finalDestination, duration: 1))
}
}
как найти узел между locationBegan и locationEnded? Спасибо
Если это невозможно, не могли бы вы посоветовать мне способ найти узел при свайпе во всех направлениях, а не только влево, вправо, вверх и вниз? Спасибо
ОБНОВЛЕНИЕ Задайте следующие свойства узла для запуска:
node.physicsBody = SKPhysicsBody(circleOfRadius: 5)
node.physicsBody?.dynamic = false