CCParticleSnow не зацикливается / повторяется.

Я написал этот код.

 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 частиц и все)

Тем не менее, если я обменяю 2-ю строку кода в

CCParticleSnow *emitter = [CCParticleSnow node];

тогда система частиц способна непрерывно вращаться. Я прочитал документы и погуглил об этом, но безрезультатно. Последняя попытка состояла в том, чтобы поместить эту длительность в kCCParticleDurationInfinity. Но все еще не работает.

Помоги мне, пожалуйста.

1 ответ

Решение

Вы ограничиваете излучатель до 8 частиц. Он будет порождать новые частицы только после того, как начальные 8 исчезнут.

Другие вопросы по тегам