粒子運(yùn)動(dòng)的實(shí)現(xiàn):
- 創(chuàng)建發(fā)射器 CAEmitterLayer
- 創(chuàng)建粒子 CAEmitterCell
實(shí)現(xiàn)如下:
// 創(chuàng)建發(fā)射器
let emitter = CAEmitterLayer()
// 設(shè)置發(fā)射器位置
emitter.emitterPosition = point
// 開啟三維效果
emitter.preservesDepth = true
// 創(chuàng)建粒子,并設(shè)置粒子相關(guān)屬性
var cells = [CAEmitterCell]()
for i in 0..<10 {
let cell = CAEmitterCell()
// 設(shè)置粒子速度
cell.velocity = 150
cell.velocityRange = 100
// 設(shè)置粒子大小
cell.scale = 0.7
cell.scaleRange = 0.3
// 設(shè)置粒子方向
cell.emissionLatitude = CGFloat(-M_PI_2)
cell.emissionRange = CGFloat(M_PI_2 / 6)
// 設(shè)置粒子旋轉(zhuǎn)
cell.spin = CGFloat(M_PI_2)
cell.spinRange = CGFloat(M_PI_2 / 2)
// 設(shè)置粒子每秒彈出的個(gè)數(shù)
cell.birthRate = 2
// 設(shè)置粒子生命存活時(shí)間
cell.lifetime = 7
cell.lifetimeRange = 1.5
// 設(shè)置內(nèi)容圖片
cell.contents = UIImage(named: "good\(i)_30x30")?.cgImage
cells.append(cell)
}
// 將粒子設(shè)置到發(fā)射器中
emitter.emitterCells = cells
// 將發(fā)射器的layer添加到父類的layer中
view.layer.addSublayer(emitter)
歡迎指正!
毛姆說的,閱讀能為自己筑起一個(gè)避難所,幾乎可以避開生命中所有的災(zāi)難。
歡迎關(guān)注我的微信公眾號(hào):LDYG2017, 或掃描下方二維碼關(guān)注. 這里會(huì)分享我的讀書筆記, 愿你我共同進(jìn)步.

初始化蒲公英.jpg