Хорошо, так что в настоящее время в моей игре я могу перетащить, пронести и щелкнуть по узлу. Тем не менее, я хочу, чтобы пользователь мог только пронести/щелкнуть узел, и я не хочу, чтобы пользователь мог перетащить узел. Как я могу это сделать?Как я могу щелкнуть спрайт, не перетаскивая его?
Вот мой текущий код:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
if ball.frame.contains(location) {
touchPoint = location
touching = true
}
}
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first as UITouch!
let location = touch!.location(in: self)
touchPoint = location
for touch in touches {
let location = touch.location(in: self)
touchPoint = location
if touching {
if touchPoint != ball.position {
let dt:CGFloat = 1.0/60.0
let distance = CGVector(dx: touchPoint.x-ball.position.x, dy: touchPoint.y-ball.position.y)
let velocity = CGVector(dx: distance.dx/dt, dy: distance.dy/dt)
ball.physicsBody!.velocity=velocity
}
}
}
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
touching = false
for touch in touches {
let location = touch.location(in: self)
touchPoint = location
let node = self.atPoint(location)
}
}
Пожалуйста, уточните, что вы хотите достичь. – matthiaswitt
Я предполагаю: ваша цель состоит в том, чтобы узел не двигался до тех пор, пока палец не будет выпущен из жестов салфетки, и в этот момент скорость и расстояние движения пальца по экрану определяет скорость и направление движения узла? – Confused