2010-05-26 106 views
1

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

我没有任何OpenGLES编程经验。

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

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

感谢, Swapnil

回答

1

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

只要我创建粒子,事情都可以。但是现在我开始使用它们作为精灵(或者在粒子消失时创建新的精灵)并将它们与加速度计一起移动,由于沙粒的数量非常巨大,所以性能确实非常糟糕。

因此,这里是一个变通我要去尝试:

创建的尺寸为320 * 480的每个精灵巨大的精灵表,显示出沙子散落在不同的位置/方向,并根据加速度改变精灵投入。

我知道这听起来像一个蹩脚的工作,但我创建了一个小精灵表POC,它并没有那么糟糕。

请让我知道,如果你认为这种解决方法有点缺陷或我应该使用其他方法。

感谢, Swapnil

5

在这里你去,iphoneparticles,在OpenGL ES的iPhone一个开源的粒子发生器。如果你想了解它是如何产生的,请查看源代码。

此外,你可能想看看在this article提出的演示应用程序的源代码。它使用由71 Squared创建的粒子发射器类。

+0

感谢您的快速回复luvieere。下载了两个源代码。它们与cocos2d中的粒子引擎测试类似。但我的主要问题是保留颗粒。我仍然会彻底研究下载的代码,看看我能否设法保留这些系统中的粒子。 – lukya 2010-05-26 13:17:44