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

5
我正在尝试使用iOS 5的粒子系统(CAEmitterLayer和CAEmitterCell)在一个圆(或更好的是一个CGPath)周围绘制粒子,但我不知道该怎么做。我能做到的最好的事情是制作一条弧线(通过修改CAEmitterCell的yAcceleration属性),但我不能画出完整的圆。当然,我可以做多个弧线来模拟一个圆,但"结"非常明显。另外,我不想使用遮罩,因为它会导致边缘处的粒子被裁剪。有什么想法吗?
3个回答

3

您可以使用CAKeyframeAnimation来动画化emitterPosition:

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

嗨,你怎么使用CAEmitterCell? - Jules


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接