используйте CAEmitterLayer для рисования частиц вокруг круга или CGPath - PullRequest
5 голосов
/ 28 ноября 2011

Я пытаюсь использовать систему частиц iOS 5 (CAEmitterLayer и CAEmitterCell), чтобы рисовать частицы вокруг круга (или даже лучше, CGPath), но я не знаю, как это сделать.Лучшее, что я мог сделать, это создать дугу (изменив свойство yAcceleration в CAEmitterCell), но я не могу сделать полный круг.Конечно, я мог бы сделать несколько дуг для имитации круга, но «узлы» очень хорошо видны.Кроме того, я не хочу использовать маски, потому что кажется, что частицы по краям обрезаны.Есть идеи как это сделать?

Ответы [ 3 ]

3 голосов
/ 04 марта 2012

Вы можете использовать CAKeyframeAnimation для анимации emitterPosition:

CAKeyframeAnimation *particleAnimation = [CAKeyframeAnimation animationWithKeyPath:@"emitterPosition"];
[particleAnimation setPath:yourPath];
[particleAnimation setDuration:1.0];
[particleAnimation setCalculationMode:kCAAnimationPaced];
[yourEmitterLayer addAnimation:particleAnimation forKey:@"yourAnimation"]; 
0 голосов
/ 28 августа 2013
yourEmitter.emitterShape = kCAEmitterLayerCircle;
yourEmitter.emitterMode = kCAEmitterLayerOutline;
0 голосов
/ 22 марта 2012

Вы хотите использовать particleEmitter.emitterShape = kCAEmitterLayerCircle

http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CAEmitterLayer_class/Reference/Reference.html

...