2011-04-27 66 views
1

我正在iPhone上的Cocos2D/Box2D中尝试一些新的想法。cocos2d/box2d iPhone - 随机循环路径

我想动画萤火虫移动的圆形小群(随机?)路径...的想法是,用户可以捕捉萤火虫,净..

我一直在使用重力模拟的考虑但我相信这是过于复杂的事情......我以前使用贝塞尔曲线的经验告诉我,这不是解决方案要么..

有没有人有任何明亮的见解给我?

非常感谢。

回答

6

你需要的萤火虫相互碰撞?

我问,如果这不是一个要求,Box2D可能是为你的需要矫枉过正。 Cocos2d对于这个声音来说是一个很好的选择,但是我认为你最好是关注植绒算法,如boids

即使这可能过于复杂。将一些正弦和余弦项与一些随机缩放因子混合在一起可能就足够了。

你可以有一个正弦/余弦的组合形成一个椭圆形的屏幕几乎大小:

x = halfScreenWidth + cos (t) * halfScreenWidth * randomFactor; 
y = halfScreenHeight + sin (t) * halfScreenHeight * randomFactor; 

其中randomFactor也会是在0.6境界0.9

这广阔的给你屏幕周围的椭圆运动,则可以添加较小的正弦/余弦因子,使它们围绕该椭圆上的点旋转。

通过将时间差(t)乘以不同的值(负值和正值),曲线的路径将以较小的几何方式移动。例如,如果您使用

x = halfScreenWidth + cos (2*t) * halfScreenWidth * randomFactor; 

椭圆会变成图8(我想!)

希望这有助于让你开始。祝你好运。