在 SpriteKit 中将 Sprite 获取到 'follow' 另一个 Sprite
Getting a Sprite to 'follow' another Sprite in SpriteKit
我正在尽最大努力自己制作一个简单的 "tower-defense" 游戏(既要学习 SpriteKit 又要涉足一般的游戏开发)。
我已经完成了游戏的大部分工作,但我的问题是当涉及到塔 "shooting" 在穿过屏幕的敌人时。
我不太确定如何将塔 "bullets" 移向敌人。敌人本身静态移动,点对点,直到它到达它死亡的终点。
但是,子弹需要动态移动 "path" 所以我不能使用 moveTo(x: , y:) 方法来移动它,否则它看起来很傻(子弹将移动子弹初始化时敌人所在的直线)。
我不确定我需要做的是否是实现路径(即 CGPath),因为坦率地说,我不太了解 CGPath 是什么。所以在这里我对进入的方向有点困惑。
是否有一个简单的函数可以让一个 sprite 移动或 'follow' 另一个 sprite? (在这种情况下,当它们发生碰撞时,我可以简单地删除子弹)。
对于每个更新周期,计算从子弹到敌人位置的向量。将其标准化为 1 的长度。然后通过 SKAction 将项目符号移动到 this 向量的末尾。您必须对移动距离和子弹速度进行一些计算,以计算出 SKAction 应该花费多长时间。您可以使用 SKConstraint 来旋转子弹以自动面对敌人。
此链接将有助于矢量内容,但我稍后会尝试 post 一些代码:
https://www.raywenderlich.com/90520/trigonometry-games-sprite-kit-swift-tutorial-part-1
我正在尽最大努力自己制作一个简单的 "tower-defense" 游戏(既要学习 SpriteKit 又要涉足一般的游戏开发)。
我已经完成了游戏的大部分工作,但我的问题是当涉及到塔 "shooting" 在穿过屏幕的敌人时。
我不太确定如何将塔 "bullets" 移向敌人。敌人本身静态移动,点对点,直到它到达它死亡的终点。
但是,子弹需要动态移动 "path" 所以我不能使用 moveTo(x: , y:) 方法来移动它,否则它看起来很傻(子弹将移动子弹初始化时敌人所在的直线)。
我不确定我需要做的是否是实现路径(即 CGPath),因为坦率地说,我不太了解 CGPath 是什么。所以在这里我对进入的方向有点困惑。
是否有一个简单的函数可以让一个 sprite 移动或 'follow' 另一个 sprite? (在这种情况下,当它们发生碰撞时,我可以简单地删除子弹)。
对于每个更新周期,计算从子弹到敌人位置的向量。将其标准化为 1 的长度。然后通过 SKAction 将项目符号移动到 this 向量的末尾。您必须对移动距离和子弹速度进行一些计算,以计算出 SKAction 应该花费多长时间。您可以使用 SKConstraint 来旋转子弹以自动面对敌人。
此链接将有助于矢量内容,但我稍后会尝试 post 一些代码:
https://www.raywenderlich.com/90520/trigonometry-games-sprite-kit-swift-tutorial-part-1