对SKNode施加脉冲以在屏幕上移动并检测碰撞



我正在制作一个基本的应用程序,可以在屏幕上推动形状并检测与雪碧套件的碰撞。我的第一次尝试是在节点上使用moveTo。我遇到的问题是碰撞,物体会相互旋转而不是反弹。

因此,我发现我需要使用 applyForce OR applyImpulse .

在这种情况下,我有一个圆圈,例如,它在生命开始时位于屏幕外。然后,我们确定一个目标出口点,并希望向该方向"轻弹"/"推动"节点。

我不知道如何将脉冲应用于我作为CGPoint的目标终端位置。我需要把它交给CGVector,但我不确定需要做什么。我环顾四周,发现了一些Ray tuts,但它们只是显示applyForce或moveTo。我不确定如何计算这个。

我找到了一个很好地解释2D物理学的网站。
http://www.rodedev.com/tutorials/gamephysics/

有了这个,我计算出了需要的角度,并有一个我可以控制的速度,它运行良好。

您可以通过手动更改 x 和 y 位置来移动对象,以便到达终点。在更新功能中,您可以更改yourObject.position.xyourObject.position.y我是否正确理解了您的问题。如果没有,请更明确。希望有帮助。

最新更新