CAEmitterLayer - Как сделать так, чтобы частицы emiterCell появлялись одновременно, а не устанавливать скорость рождения частиц в секунду?

Вот как настроен мой emitterLayer:

emitterLayer.position = CGPointMake(sumIndent
                                    ,_emitterView.frame.origin.y);

emitterLayer.backgroundColor = [[UIColor clearColor] CGColor];


emitterLayer.emitterPosition = CGPointZero;

emitterLayer.emitterSize = CGSizeMake(100, 100);

emitterLayer.emitterShape = kCAEmitterLayerBackToFront;

[_emitterView.layer addSublayer:emitterLayer];

Вот как настроен мой emitterCell:

CAEmitterCell * coinCell = [CAEmitterCell emitterCell];

coinCell.name = @"coins";

coinCell.contents = (id) [[UIImage imageNamed:@"smallCoin.png"] CGImage];

coinCell.birthRate = 0;

coinCell.lifetime = 0.3;
coinCell.lifetimeRange = 1.1;

coinCell.velocity = 900;

coinCell.emissionRange = 2 * M_PI;

coinCell.spin = 0.0;
coinCell.spinRange = 7 * M_PI;

coinCell.scale = 1.85;
coinCell.alphaSpeed=-1.0/coinCell.lifetime;

И вот как я запускаю / останавливаю анимацию:

 [emitterLayer setValue:[NSNumber numberWithInt:PARTICLE_INTENSITY] forKeyPath:@"emitterCells.coins.birthRate"];

 [emitterLayer setValue:[NSNumber numberWithInt:0] forKeyPath:@"emitterCells.coins.birthRate"];

Мне нужно, чтобы все частицы были созданы мгновенно, чтобы иметь эффект взрыва. Таким образом, они появляются только один за другим.

0 ответов

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