【问题标题】:how to create a particle system on iphone and retain the created particles?如何在iphone上创建粒子系统并保留创建的粒子?
【发布时间】:2010-05-26 13:00:20
【问题描述】:

我需要创建一个粒子系统并保留创建的粒子。我需要用 iphone 加速度计摇动/移动创建的粒子。此外,粒子的数量需要非常多(我需要展示沙子!)。

我没有任何 OpenGLES 编程经验。

经过初步搜索,我发现 Cocos2D 可以用于粒子生成。但是CCParticle系统中没有办法保留粒子。作为一种解决方法,我尝试在粒子生成结束时创建许多精灵并将它们显示为粒子。但是使用加速度计移动少量精灵会大大降低帧速率。

请建议如何实现这一点以及我是否应该寻找其他框架或是否有某种类似的演示代码可用。

谢谢, 交换无

【问题讨论】:

    标签: iphone particles


    【解决方案1】:

    给你,iphoneparticles,一个用于 iPhone 的 OpenGL ES 中的开源粒子生成器。如果您想了解它是如何制作的,请查看源代码。

    另外,您可能需要查看this article 中提供的演示应用程序的源代码。它使用由71 Squared 创建的粒子发射器类。

    【讨论】:

    • 感谢 luvieere 的快速回复。下载了两个源代码。它们类似于 cocos2d 中的粒子引擎测试。但我的主要问题是保留粒子。我仍然会彻底检查下载的代码,看看我是否可以设法保留这些系统中的粒子。
    【解决方案2】:

    看看CAReplicatorLayer,它可以让你使用核心动画来创建漂亮的粒子系统。 Apple 有一个用于 Mac 的 good example of this,我是 ported to the iPad

    【讨论】:

      【解决方案3】:

      尝试了所有提到的方法,但没有一个适合我想要实现的目标。

      只要我创建粒子,一切都会好起来的。但是当我开始将它们用作精灵时(或在粒子消失时创建新精灵)并用加速度计移动它们时,由于沙粒的数量很大,性能真的很差。

      所以这是我要尝试的解决方法:

      创建一个巨大的精灵表,每个精灵大小为 320 * 480,显示散布在不同位置/方向的沙子,并根据加速度计输入更改精灵。

      我知道这听起来像是一个蹩脚的工作,但我创建了一个小的精灵表 POC,它还不错。

      如果您认为这种解决方法存在某种缺陷或者我应该使用其他方法,请告诉我。

      谢谢, 交换无

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-09
        • 1970-01-01
        • 1970-01-01
        • 2012-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多