我写了这段代码。
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。但仍然无法正常工作。
请帮帮我。