5

在 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属性,尽管我已经尝试了所有可能性,但并没有解决问题。

有人对这可能是什么有任何想法吗?

4

1 回答 1

8

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

emitter.emitterMode = kCCPositionTypeRelative;
emitter.positionType = kCCPositionTypeRelative;
于 2012-06-07T19:16:08.523 回答