【问题标题】:cocos2d/box2d iPhone - Random circular pathscocos2d/box2d iPhone - 随机圆形路径
【发布时间】:2011-04-27 19:57:01
【问题描述】:

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

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

我曾考虑过为此使用重力模拟,但我认为它过于复杂......我之前使用贝塞尔曲线的经验告诉我,这也不是解决方案......

有人对我有什么好的见解吗?

非常感谢。

【问题讨论】:

    标签: iphone ios cocos2d-iphone box2d


    【解决方案1】:

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

    我问,好像这不是一个要求,Box2D 可能对您的需求来说太过分了。 Cocos2d 听起来是一个很好的选择,但我认为你最好研究一下像 boids 这样的植绒算法

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

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

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

    其中 randomFactor 将是 0.6 到 0.9 范围内的某个值

    这将使您在屏幕上进行广泛的椭圆运动,然后您可以添加一个较小的 sin/cos 因子,使它们围绕该椭圆上的点旋转。

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

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

    椭圆会变成数字 8。(我想!)

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-20
        • 2018-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 1970-01-01
        相关资源
        最近更新 更多