Math 基于速度的2d游戏物理缓进/缓出

Math 基于速度的2d游戏物理缓进/缓出,math,user-interface,2d,physics,cocos2d-x,Math,User Interface,2d,Physics,Cocos2d X,我最近一直在尝试在我的游戏中重新创建一个iOS用户界面的边缘反弹效果,这样如果你滚动过一个关卡的边界,相机就会慢慢反弹回边界 目前我已经实现了一些从ActionScript移植的Robert Penner的tweening计算,但是我不确定这是否是正确的方法,因为它没有考虑到我们相机的速度。目前看起来是这样的: easeInOutcurrentTime、startValue、endValue、duration 此处提供了实际实现: 我得出的结论是,这是一个灰色区域,因为我没有找到太多关于它的信息

我最近一直在尝试在我的游戏中重新创建一个iOS用户界面的边缘反弹效果,这样如果你滚动过一个关卡的边界,相机就会慢慢反弹回边界

目前我已经实现了一些从ActionScript移植的Robert Penner的tweening计算,但是我不确定这是否是正确的方法,因为它没有考虑到我们相机的速度。目前看起来是这样的:

easeInOutcurrentTime、startValue、endValue、duration

此处提供了实际实现:


我得出的结论是,这是一个灰色区域,因为我没有找到太多关于它的信息,或者我不熟悉我试图描述的计算类型的正确名称。如果有人对在2d游戏或UI中使用速度来简化输入/输出计算有任何建议,我会非常有兴趣听到

Cocos2d和-x具有CCEaseIn和CCEaseOut


您可以使用时间参数来创建这些,这样您就不能仅仅根据相机速度来缩放时间了吗?它移动的越快,反弹的速度就越快,放松动作的时间也就越短。我不会为此使用任何花哨的tweening实现,因为cocos2d已经有很多可用的缓解措施。

cocos2d和-x有CCEaseIn和CCEaseOut


您可以使用时间参数来创建这些,这样您就不能仅仅根据相机速度来缩放时间了吗?它移动的越快,反弹的速度就越快,放松动作的时间也就越短。我不会为此使用任何花哨的tweening实现,因为cocos2d已经有许多可用的缓和动作。

您可以在边缘和相机之间使用弹簧。你的力应该是F=-w*w*x-2*w*v,其中w是弹簧的固有频率,尝试几个不同的值,直到你得到你喜欢的值,x是从边界的位移,v是当前速度。

你可以在边缘和相机之间使用弹簧。你的力是F=-w*w*x-2*w*v,其中w是弹簧的固有频率,尝试几个不同的值,直到你得到你喜欢的值,x是从边界的位移,v是当前速度。

这个问题可能更适合这个问题,之前已经问过很多次了。一个简单的方法是使用一个。另一种方法是在运动方向上有一个加速度矢量,当物体/摄像机到达其最终位置的一半时,该矢量会切换方向。这个问题可能更适合于以前多次提出的问题。一个简单的方法是使用一个。另一种方法是在运动方向上有一个加速度矢量,当物体/摄像机到达其最终位置的一半时,该矢量会切换方向。摄像机的运动不是使用cocos2d的动作系统实现的,我怀疑这是一个可行的解决方案。摄像机的运动不是使用cocos2d的动作系统实现的,我怀疑这将是一个可行的解决方案。这就像一个绝对的魅力,正是我们所需要的。多亏了你的投入,我还找到了其他类似主题的材料。这非常有魅力,正是我所需要的。多亏了你的投入,我还找到了关于类似主题的其他材料。