1

cocos2d にパーティクル トレイル エフェクトを追加しようとしています。CCParticleSystemQuad エミッタを子として移動スプライトに追加することで、なんとかそれを行うことができました。しかし、私は、このエミッターが最終的に割り当て解除されていないことを観察しています。

このエミッターを同じスプライトに追加しても、動かさずにそのままにしておくと、エミッターの割り当てが解除されます。

なぜこれが起こっているのか理解できません..

コードはこのようなものです..

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

1 に答える 1

2

電話したことを確認してください[emitter removeFromParentAndCleanup:YES];

これは私の同様の質問の1つです

オブジェクトが保持されている場所を見つけて、上記のスレッドの Morion の回答に従ってください。

クイックソリューション:

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];
于 2013-04-20T04:45:58.923 に答える