我最近一直在试验和尝试在我的游戏中重新创建iOS UI的边缘反弹效果,这样当你滚动经过一个关卡的边界时,相机就会慢慢弹回边界。
目前,我已经实现了罗伯特·彭纳从ActionScript移植的一些补间计算,但是我不确定这是不是正确的方法,因为它没有考虑到我们相机的速度。目前,它看起来像这样:
easeInOut(currentTime, startValue, endValue, duration);
实际的实现可以在这里获得:http://www.jesusgollonet.com/blog/2007/09/24/penner-easing-cpp/
我得出的结论是,这是一种灰色区域,因为我还没有找到关于它的太多信息,或者是我不熟悉我试图描述的那种计算的正确名称。如果任何人有任何关于在2d游戏或UI中使用速度进行轻松输入/输出计算的建议,我将非常感兴趣!
发布于 2012-03-31 11:04:58
可以在边和相机之间使用critically damped弹簧。力应该是F=-w*w*x - 2*w*v,其中w是弹簧的固有频率(尝试几个不同的值,直到得到你喜欢的值)x是距边界的位移,v是当前速度。
发布于 2012-03-30 22:17:15
Cocos2d (和-x)有CCEaseIn和CCEaseOut、among many others。
你可以用一个时间参数来创建它们,所以你不能仅仅根据你的相机速度来缩放时间吗?它移动得越快,它“反弹”的速度就越快,而放松动作的时间就越短。为此,我不会使用任何花哨的补间实现,因为cocos2d已经有许多可用的轻松操作。
https://stackoverflow.com/questions/9942744
复制相似问题