cocos2d / box2d iPhone - 随机循环路径

时间:2011-04-27 11:24:56

标签: iphone ios cocos2d-iphone box2d

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

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

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

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

非常感谢。

2 个答案:

答案 0 :(得分:6)

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

我问,好像这不是一个要求,Box2D可能对您的需求有些过分。 Cocos2d通过它的声音是一个很好的选择,但我认为你最好不要考虑像boids这样的植绒算法

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

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

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

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

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

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

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

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

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

答案 1 :(得分:1)

寻找创意的一个地方将是人造生命领域。他们长期以来一直在模拟成群的实体。这是一个用Java编写的简单swarm代码的链接,它应该给你一些想法。

http://www.aridolan.com/ofiles/Download.aspx