使用CAEmitterLayer绘制一个圆圈或CGPath的粒子
问题描述:
我试图用iOS 5的粒子系统(CAEmitterLayer和CAEmitterCell)围绕一个圆圈绘制粒子(甚至更好,一个CGPath),但我不知道怎么做。我能做的最好的是创建一个弧(通过修改CAEmitterCell的yAcceleration属性),但我不能做一个完整的圆。当然,我可以做多个弧来模拟一个圆,但是“结”非常明显。另外,我不想使用蒙版,因为它看起来像是在边缘的粒子被裁剪。任何想法如何做到这一点?使用CAEmitterLayer绘制一个圆圈或CGPath的粒子
答
可以使用CAKeyframeAnimation动画的emitterPosition:
CAKeyframeAnimation *particleAnimation = [CAKeyframeAnimation animationWithKeyPath:@"emitterPosition"];
[particleAnimation setPath:yourPath];
[particleAnimation setDuration:1.0];
[particleAnimation setCalculationMode:kCAAnimationPaced];
[yourEmitterLayer addAnimation:particleAnimation forKey:@"yourAnimation"];
+0
嗨,你如何使用CAEmitterCell? – Jules
答
你想用particleEmitter.emitterShape = kCAEmitterLayerCircle
答
yourEmitter.emitterShape = kCAEmitterLayerCircle;
yourEmitter.emitterMode = kCAEmitterLayerOutline;
任何代码示例? – nycynik