Cocos2D - частицы следуют за эмиттером, а не остаются в положении, в котором они были освобождены

В 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 ответ

Решение

Вы также можете попробовать изменить "emitterMode" на "kCCPositionTypeFree". У меня была похожая проблема, когда у меня был эмиттер в детстве с CCNode. CCNode вращался, а частицы и излучатель - нет. Точно так же это выглядело глупо, потому что иллюзия вращения была разрушена. Мне нужно установить следующее на моем эмиттере:

emitter.emitterMode = kCCPositionTypeRelative;
emitter.positionType = kCCPositionTypeRelative;
Другие вопросы по тегам