2011-11-28 48 views
5

我試圖用iOS 5的粒子系統(CAEmitterLayer和CAEmitterCell)圍繞一個圓圈繪製粒子(甚至更好,一個CGPath),但我不知道怎麼做。我能做的最好的是創建一個弧(通過修改CAEmitterCell的yAcceleration屬性),但我不能做一個完整的圓。當然,我可以做多個弧來模擬一個圓,但是「結」非常明顯。另外,我不想使用蒙版,因爲它看起來像是在邊緣的粒子被裁剪。任何想法如何做到這一點?使用CAEmitterLayer繪製一個圓圈或CGPath的粒子

+0

任何代碼示例? – nycynik

回答

3

可以使用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

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