我正在制作一个基本的应用程序,在屏幕上推动形状并检测与Sprite Kit的碰撞。我的第一次尝试是在节点上使用moveTo
。我遇到的问题是碰撞,物体会相互旋转而不是反弹。
因此我发现我需要使用applyForce
或applyImpulse
。
在这种情况下,我有一个圆圈,例如它在生命开始时位于屏幕外。然后我们确定目标出口点,并希望在该方向上“轻弹”/“推”节点。
我无法弄清楚如何将Ifpulse应用于我作为CGPoint的目标终点位置。我需要把它送到CGVector,但我不确定需要做什么。我环顾四周,发现了一些Ray tuts,但他们只是展示了applyForce或moveTo。我不知道如何计算这个。
答案 0 :(得分:1)
我找到了一个很好地解释2D物理的网站 http://www.rodedev.com/tutorials/gamephysics/
有了这个,我找出了需要的角度,并且拥有一个我可以控制的速度并且效果很好。
答案 1 :(得分:0)
您可以通过手动更改x和y位置来移动对象,以便达到终点。如果我已正确理解您的问题,您可以在更新功能中更改yourObject.position.x
和yourObject.position.y
。如果不是,请更明确。希望有所帮助。