我发现堆栈溢出的this答案,但我想对它进行修改,这是我无法弄清楚的。该问题的答案显示了如何使导弹朝你的手指方向移动。但是,我希望它向另一个节点的方向移动(在我的情况下是一艘船)这意味着它不是跟随我的手指,而是跟随船。怎么能实现这个?
非常感谢
答案 0 :(得分:1)
这很简单:
1)而不是touchesMoved
使用update
方法。
2)而不是触摸位置使用玩家的位置。
override func update(currentTime: NSTimeInterval) {
let location = player.position
//Aim
let dx = location.x - missile.position.x
let dy = location.y - missile.position.y
let angle = atan2(dy, dx)
missile.zRotation = angle
//Seek
let vx = cos(angle) * missileSpeed
let vy = sin(angle) * missileSpeed
missile.position.x += vx
missile.position.y += vy
}