我写了这段代码。
CCSpriteFrame *starParticleFrame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:spriteName];
CCParticleSnow *emitter = [[CCParticleSnow alloc] initWithTotalParticles:8];
[emitter setTexture:[starParticleFrame texture] withRect:[starParticleFrame rect]];
emitter.position = ADJUST_XY(theScreenSize.width/2, 3*theScreenSize.height/4);
emitter.scale = HD_PIXELS(1.5);
emitter.speed = 20 + arc4random() %20;
[emitter setDuration:kCCParticleDurationInfinity];
//[emitter setGravity:CGPointMake(0, -150)];
[self addChild: emitter z:-1];
有效。但问题是它只是起火了一次,而不是连续的。 (在这种情况下,只有8个粒子出来,就是这样)。
但是,如果我将第二行代码交换成
CCParticleSnow *emitter = [CCParticleSnow node];
然后粒子系统能够连续循环。我阅读了文档,并用谷歌搜索了这个
但无济于事。最后一次尝试是将持续时间设置为kCCParticleDurationInfinity。但仍然无法正常工作。
请帮帮我。
答案 0 :(得分:1)
您将发射器限制为8个粒子。它只会在最初的8个消失后产生新的粒子。