Я пытаюсь сделать воздушную хоккейную игру с помощью SpriteKit. Я пытаюсь перетащить шайбы, но я не могу заставить их продолжать двигаться после того, как осязание закончилось. Прямо сейчас я привязываю прикосновение и шайбу и устанавливаю ее положение при движении касания.SpriteKit перемещает физическое тело при касании (игра в воздушный хоккей)
с использованием системы физики:
override func update(currentTime: NSTimeInterval) {
for (touch, node) in draggingNodes {
let targetPosition = touch.locationInNode(self)
let distance = hypot(node.position.x - targetPosition.x, node.position.y - targetPosition.y)
var damping = sqrt(distance * 100)
if (damping < 0) {
damping = 0.0
}
node.physicsBody!.linearDamping = damping
node.physicsBody!.angularDamping = damping
let translation = CGPointMake(targetPosition.x - node.position.x, targetPosition.y - node.position.y)
node.physicsBody!.velocity = CGVectorMake(translation.x * 100, translation.y * 100);
}
}
Вы попробовали это на устройстве? Симулятор не подходит для тестирования этого типа поведения. – 0x141E
попробовал на симуляторе, у меня нет учетной записи разработчика iOS, и я использую xcode 6.x –
Вы можете найти это полезным http://stackoverflow.com/questions/28245653/how-to-throw-skspritenode – 0x141E