Cocos2D - 粒子跟随发射器而不是停留在它们被释放的位置

时间:2012-04-10 17:00:58

标签: cocos2d-iphone particles particle-system ccparticlesystem

在cocos2D中,我目前有一个非常简单的粒子发射器,如下所示:

    turnEmitter = [[CCParticleFlower alloc] init];
    turnEmitter.texture = [[CCTextureCache sharedTextureCache] addImage:@"Pocket.png"];
    [self addChild:turnEmitter z:1];
    turnEmitter.scale = 0.7f;
    turnEmitter.positionType = kCCPositionTypeFree;

它只是直接添加到游戏性图层。

这个发射器以这种方式跟随屏幕周围的精灵(在更新方法中发生):

    turnEmitter.position = turnEmblem.position;

现在的问题是留在发射器后面的粒子尾部与发射器一起移动,而不是释放的粒子只是停留在它们被释放的位置,这给人一种非常奇怪和愚蠢的效果。

我想要做的是让粒子在它们产生后根本不跟随发射器,不幸的是我无法找到任何方法。

从上面的代码中我可以看到,我已经搜索过了,发现有人建议更改发射器的 positionType 属性,尽管我已经尝试了所有可能性并且它没有解决问题

有没有人对这可能有什么想法?

1 个答案:

答案 0 :(得分:8)

您可能想尝试将“emitterMode”更改为“kCCPositionTypeFree”。我有一个类似的问题,我有发射器作为CCNode的孩子。 CCNode正在旋转,但粒子和发射器没有旋转。以同样的方式,它看起来很愚蠢,因为旋转的幻觉被破坏了。我需要在我的发射器上设置以下内容:

emitter.emitterMode = kCCPositionTypeRelative;
emitter.positionType = kCCPositionTypeRelative;