我们来实现这种下雪的粒子效果
要创建粒子发射器的动画,需要用到一个新的layer:CAEmitterLayer
在viewDidLoad中创建emitter对象
let rect = CGRect(x: 0.0, y: 100.0, width: view.bounds.width, height: 50.0)
let emitter = CAEmitterLayer()
emitter.frame = rect
view.layer.addSublayer(emitter)
设置发射器的形状:
emitter.emitterShape = kCAEmitterLayerRectangle
这里简单介绍其中三种发射器的形状
kCAEmitterLayerPoint:点形状的发射器将在同一个位置创建所有的粒子,例如火焰效果
kCAEmitterLayerLine:线形状的发射器将沿发射器frame的坐标顶部创建所有粒子,例如瀑布
kCAEmitterLayerRectangle:矩形发射器通过给定的矩形区域随机创建粒子。
设置发射器的坐标:
emitter.emitterPosition = CGPoint(x: rect.