0

我写了这段代码。

 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。但仍然无法正常工作。

请帮帮我。

4

1 回答 1

1

您将发射器限制为 8 个粒子。它只会在最初的 8 个粒子消失后生成新粒子。

于 2013-02-22T19:19:31.707 回答