ios - 如何向另一个节点的方向移动节点

标签 ios swift sprite

我找到了this回答有关堆栈溢出的问题,但我想对其进行修改,但我无法弄清楚。这个问题的答案展示了如何让导弹朝你手指的方向移动。但是,我希望它朝另一个节点(在我的例子中是一艘船)的方向移动,这意味着它不是跟随我的手指,而是跟随船。如何才能实现这一目标?

非常感谢

最佳答案

很简单:

1) 使用 update 方法代替 touchesMoved

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
}

关于ios - 如何向另一个节点的方向移动节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36684255/

相关文章:

ios - 通过iAd Network的真实广告测试AdBannerView

ios - self.navigationItem.rightBarButtonItem = 按钮不起作用?

python - 如何在 pygame 中添加一条线作为 Sprite ?

iOS - IAP 问题,对应用商店收据感到困惑

ios - 如何删除UIImage背景颜色并使之透明?

ios - SwiftUI:如何更改@Published 对象值。更改已发布变量的值不起作用

c# - 制作基本的奔跑 Sprite 效果

java - Android 中平铺 Sprite

ios - iOS 如何处理 URL 方案重复?

swift - 我可以安全地将 NSManagedObject 传递给 performBackgroundTask 吗?