了解 CAEmitterLayer

2020-08-08  本文已影响0人  _涼城

CAEmitterLayer

CAEmitterLayer是一个发射、设置动画和渲染粒子系统的图层。

emitterCells
API
@property(copy) NSArray<CAEmitterCell*> *emitterCells;
官方示例

演示了如何设置一个简单的粒子发射器。它使用一个图片当单元内容时,通过将发射器单元的发射范围设置为2 * PI,粒子将向所有方向发射。

let emitterLayer = CAEmitterLayer()

emitterLayer.emitterPosition = CGPoint(x: 320, y: 320)

let cell = CAEmitterCell()
cell.birthRate = 100
cell.lifetime = 10
cell.velocity = 100
cell.scale = 0.1

cell.emissionRange = CGFloat.pi * 2.0
cell.contents = UIImage(named: "RadialGradient.png")!.cgImage

emitterLayer.emitterCells = [cell]

view.layer.addSublayer(emitterLayer)
emitterSize

发射源的尺寸大小,由CAEmitterCell实例定义的粒子绘制在图层的尺寸内。

API
@property CGSize emitterSize;
emitterShape

发射源的形状,默认是点的形状,kCAEmitterLayerPoint.

API
@property(copy) CAEmitterLayerEmitterShape emitterShape;
常量值
emitterMode

发射过程的模式,默认是 kCAEmitterLayerVolume

API
@property(copy) CAEmitterLayerEmitterMode emitterMode;
枚举值
emitterPosition

发射形状的中心点,默认是(0.0,0.0).

@property CGPoint emitterPosition;

CAEmitterCell

CAEmitterCell 类继承与NSObject,是一个抽象类,似于UITableViewCell,每一种粒子效果都是一种单独的CAEmitterCell

上一篇 下一篇

猜你喜欢

热点阅读