使用CAEmitterLayer在圆圈或CGPath周围绘制粒子

时间:2011-11-28 13:51:04

标签: iphone ios cgpath particles

我正在尝试使用iOS 5的粒子系统(CAEmitterLayer和CAEmitterCell)在一个圆圈周围绘制粒子(甚至更好,一个CGPath),但我不知道该怎么做。我能做的最好的是制作一个弧(通过修改CAEmitterCell的yAcceleration属性),但我不能做一个完整的循环。当然,我可以做多个圆弧来模拟圆形,但“结”非常明显。此外,我不想使用蒙版,因为看起来边缘的粒子被裁剪。任何想法如何做到这一点?

3 个答案:

答案 0 :(得分:3)

您可以使用CAKeyframeAnimation为emitterPosition设置动画:

CAKeyframeAnimation *particleAnimation = [CAKeyframeAnimation animationWithKeyPath:@"emitterPosition"];
[particleAnimation setPath:yourPath];
[particleAnimation setDuration:1.0];
[particleAnimation setCalculationMode:kCAAnimationPaced];
[yourEmitterLayer addAnimation:particleAnimation forKey:@"yourAnimation"]; 

答案 1 :(得分:0)

答案 2 :(得分:0)

yourEmitter.emitterShape = kCAEmitterLayerCircle;
yourEmitter.emitterMode = kCAEmitterLayerOutline;