粒子运动的实现:
- 创建发射器 CAEmitterLayer
- 创建粒子 CAEmitterCell
实现如下:
// 创建发射器
let emitter = CAEmitterLayer()
// 设置发射器位置
emitter.emitterPosition = point
// 开启三维效果
emitter.preservesDepth = true
// 创建粒子,并设置粒子相关属性
var cells = [CAEmitterCell]()
for i in 0..<10 {
let cell = CAEmitterCell()
// 设置粒子速度
cell.velocity = 150
cell.velocityRange = 100
// 设置粒子大小
cell.scale = 0.7
cell.scaleRange = 0.3
// 设置粒子方向
cell.emissionLatitude = CGFloat(-M_PI_2)
cell.emissionRange = CGFloat(M_PI_2 / 6)
// 设置粒子旋转
cell.spin = CGFloat(M_PI_2)
cell.spinRange = CGFloat(M_PI_2 / 2)
// 设置粒子每秒弹出的个数
cell.birthRate = 2
// 设置粒子生命存活时间
cell.lifetime = 7
cell.lifetimeRange = 1.5
// 设置内容图片
cell.contents = UIImage(named: "good\(i)_30x30")?.cgImage
cells.append(cell)
}
// 将粒子设置到发射器中
emitter.emitterCells = cells
// 将发射器的layer添加到父类的layer中
view.layer.addSublayer(emitter)
欢迎指正!
毛姆说的,阅读能为自己筑起一个避难所,几乎可以避开生命中所有的灾难。
欢迎关注我的微信公众号:LDYG2017, 或扫描下方二维码关注. 这里会分享我的读书笔记, 愿你我共同进步.