cocos2d/box2d iPhone - 随机循环路径

ada*_*dam 1 iphone box2d cocos2d-iphone ios

我正在iPhone上尝试Cocos2D/Box2D中的一些新想法.

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

我已经考虑过使用重力模拟,但我认为它过于复杂化了......我以前使用Bezier曲线的经验告诉我,这也不是解决方案.

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

非常感谢.

Khr*_*rob 6

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

我问,好像这不是一个要求,Box2D可能是你的需求过度.Cocos2d通过它的声音是一个很好的选择,但我认为你最好不要看像boids这样的植绒算法

即使这可能过于复杂.混合一些sin和余弦项以及一些随机缩放因子可能就足够了.

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

x = halfScreenWidth + cos (t) * halfScreenWidth * randomFactor;
y = halfScreenHeight + sin (t) * halfScreenHeight * randomFactor;
Run Code Online (Sandbox Code Playgroud)

其中randomFactor将在0.6到0.9的范围内

这将为您提供围绕屏幕的宽椭圆运动,然后您可以添加较小的sin/cos因子,使它们围绕该椭圆上的点旋转.

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

x = halfScreenWidth + cos (2*t) * halfScreenWidth * randomFactor;
Run Code Online (Sandbox Code Playgroud)

椭圆将变成图8.(我想!)

希望这有助于您入门.祝好运.