我正在尝试使用physicsBody将节点移动到触摸位置(而不是SKAction)。我正在尝试使用applyForce,但我可能会犯这个错误。
在我的touchesBegan函数中,我将触摸位置记录在常量中并将其传递给我的movePlayer函数。初始触摸按预期工作。然而,随后的触摸似乎从相对位置移动,这让我觉得我应该重新计算我的向量。我只是不确定如何做到这一点。任何帮助表示赞赏。
func movePlayer(to touchPoint: CGPoint) {
let vector = CGVector(dx: touchPoint.x, dy: touchPoint.y)
player.physicsBody?.applyForce(vector, at: player.position)
player.physicsBody?.velocity = vector
playerIsMoving = true
}