CCParticleSystemQuad не освобождается при добавлении в движущийся спрайт

Я пытаюсь добавить эффект следа частиц в cocos2d, мне удалось это сделать, добавив эмиттер CCParticleSystemQuad в качестве дочернего элемента к движущемуся спрайту. Но я наблюдаю, что этот источник в конечном итоге не освобождается.

если я добавлю этот эмиттер к тому же спрайту, но оставлю его неподвижным и не буду двигаться вообще, то эмиттер будет освобожден.

Я не могу понять, почему это происходит..

код примерно так

CCParticleSystemQuad *emitter = [[[CCParticleSystemQuad alloc] initWithFile:@"myEffect.plist"] autorelease];
emitter.positionType = kCCPositionTypeFree;
emitter.autoRemoveOnFinish = YES;
[movingSprite addChild:emitter z:movingSprite.zOrder + 1000];

1 ответ

Решение

Убедитесь, что вы позвонили [emitter removeFromParentAndCleanup:YES];

Вот один из моих похожих вопросов

Узнайте, где находится объект, следуйте ответу Мориона в вышеприведенной ветке.

Быстрое решение:

CCParticleSystemQuad *emitter = [CCParticleSystemQuad particleWithFile:@"myEffect.plist"];
emitter.positionType = kCCPositionTypeFree;
emitter.autoRemoveOnFinish = YES;
[movingSprite addChild:emitter z:movingSprite.zOrder + 1000];

//To remove
[emitter stopSystem];
[emitter removeFromParentAndCleanup:YES];
Другие вопросы по тегам