如何在Cocos2d(iphone)中获取粒子位置

发布于 2024-11-17 14:03:01 字数 186 浏览 5 评论 0原文

我正在使用 CCParticleSystemQuad 在 Cocos2d 中创建粒子效果。 现在我想测试每个粒子与 CCRect 的碰撞。 如何获取粒子引擎中每个粒子的位置以便我可以做到这一点?

任何帮助或示例将不胜感激。我在网上搜索了几个小时,希望找到这方面的教程。令我惊讶的是,我并没有发现与粒子碰撞至关重要的东西。也许我没有找对地方:)

I am using CCParticleSystemQuad to create a particle effect in Cocos2d.
Now I would like to test each particle for collisions with a CCRect.
How do I get the postions of each particle in the particle engine so I can do this?

Any help or examples would be appreciated. I've looked for hours on the net expecting to find tutorials on this. I am surprised I can't find much as I would expect collisions with particles to be essential; Perhaps I wasn't looking in the right place :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牛↙奶布丁 2024-11-24 14:03:01

创建 CCParticleSystemQuad 的子类并重写 update: 方法或 updateQuadWithParticle:newPosition: 方法。

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)updateQuadWithParticle:(tCCParticle*)particle newPosition:(CGPoint)pos
{
    /* use pos */
    [super updateQuadWithParticle:particle newPosition:pos];
}
@end

编辑:

您可以为粒子设置任何数据(位置、颜色等),如下所示。

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)update:(ccTime)dt
{
    /* implement as cocos2d/CCParticleSystem.m -update: */
}
@end

Create a subclass of CCParticleSystemQuad and override update: method or updateQuadWithParticle:newPosition: method.

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)updateQuadWithParticle:(tCCParticle*)particle newPosition:(CGPoint)pos
{
    /* use pos */
    [super updateQuadWithParticle:particle newPosition:pos];
}
@end

EDITED:

You can set any data (position, color, or so on) to the particles as the following.

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)update:(ccTime)dt
{
    /* implement as cocos2d/CCParticleSystem.m -update: */
}
@end
巷子口的你 2024-11-24 14:03:01

尝试类似的

CCParticleSystemQuad* particle_system = ...;
for(int i = 0; i < particle_system->particleCount; i++)
{
    particle_system->particles[idx]->pos; // Here is your position
}

接口的头文件在这里: http:// /www.cocos2d-iphone.org/api-ref/latest-stable/_c_c_article_system_8h_source.html

警告:对这个答案持保留态度,因为我不要使用 Cocos2d 或 Objective-C。

Try something like

CCParticleSystemQuad* particle_system = ...;
for(int i = 0; i < particle_system->particleCount; i++)
{
    particle_system->particles[idx]->pos; // Here is your position
}

The header file for the interface is here: http://www.cocos2d-iphone.org/api-ref/latest-stable/_c_c_particle_system_8h_source.html

Warning: Take this answer with a grain of salt as I don't use Cocos2d, or Objective-C.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文