基于滑动角度和速度的精灵2d中精灵的最终位置

时间:2013-05-03 09:49:47

标签: iphone ios cocos2d-iphone

如何在某个速度和角度滑动时,在cocos 2d中获取Sprite的最终位置?

1 个答案:

答案 0 :(得分:0)

您是否希望在屏幕上“投掷”精灵?我问,因为你提到角度和速度。

如果是这样,您可以忽略角度并更多地关注滑动的长度和方向,因为这将为您提供可应用于精灵的矢量。

ccTouchBegan中,您需要存储触摸的初始点坐标。

ccTouchEnded中,您将获得最终的触摸点,因此您可以使用一点点毕达哥拉斯来计算这两点之间的距离。你现在有了滑动的长度。

要计算您需要计算触摸和释放之间的时间的速度,并使用此速度计算每个时间戳触摸移动的单位数。

精灵的静止点将取决于你如何将这个力施加到你的精灵。如果要将滑动矢量应用于精灵,我想你会在update期间根据速度更新精灵位置?要检查位置的位置,您需要应用您在那里使用的相同公式,但要传递一个任意时间戳来取代delta time。这将让您看到对象最终会在 T 秒内结束。

通过增加 T 的值多次调用它,直到精灵的位置静止并且你有静止点。