我正在制作一个基本的应用程序,可以在屏幕上推动形状并检测与雪碧套件的碰撞。我的第一次尝试是在节点上使用moveTo
。我遇到的问题是碰撞,物体会相互旋转而不是反弹。
因此,我发现我需要使用 applyForce
OR applyImpulse
.
在这种情况下,我有一个圆圈,例如,它在生命开始时位于屏幕外。然后,我们确定一个目标出口点,并希望向该方向"轻弹"/"推动"节点。
我不知道如何将脉冲应用于我作为CGPoint的目标终端位置。我需要把它交给CGVector,但我不确定需要做什么。我环顾四周,发现了一些Ray tuts,但它们只是显示applyForce或moveTo。我不确定如何计算这个。
我找到了一个很好地解释2D物理学的网站。
http://www.rodedev.com/tutorials/gamephysics/
有了这个,我计算出了需要的角度,并有一个我可以控制的速度,它运行良好。
您可以通过手动更改 x 和 y 位置来移动对象,以便到达终点。在更新功能中,您可以更改yourObject.position.x
并yourObject.position.y
我是否正确理解了您的问题。如果没有,请更明确。希望有帮助。