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];