Swift 4和SpriteKit:将节点移动到新的触摸位置

时间:2017-11-08 01:14:16

标签: ios swift sprite-kit skspritenode swift4

我正在尝试使用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
}

0 个答案:

没有答案