1

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

我没有任何 OpenGLES 编程经验。

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

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

谢谢, 斯瓦普尼尔

4

3 回答 3

5

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

此外,您可能想查看本文中提供的演示应用程序的源代码。它使用由71 Squared创建的 Particle Emitter 类。

于 2010-05-26T13:02:27.257 回答
5

看看CAReplicatorLayer,它可以让你使用 Core Animation 创建漂亮的粒子系统。苹果在 Mac 上有一个很好的例子,我把它移植到了 iPad上。

于 2010-05-26T20:51:47.370 回答
1

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

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

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

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

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

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

谢谢, 斯瓦普尼尔

于 2010-05-31T15:44:30.337 回答