CAEmitterLayer
emitterPosition 发射位置
CGPointMake(self.view.bounds.size.width, 0)
CGPointMake(self.view.bounds.size.width / 2, 0)
emitterSize 发射源的尺寸大小,发射源的尺寸大小,其实这个emitterSize结合 position构建了发射源的位置及大小的矩形区域rect
emitterShape 发射源的形状
kCAEmitterLayerPoint:点形状,发射源的形状就是一个点,位置在上面position设置的位置
kCAEmitterLayerLine:线形状,发射源的形状是一条线,位置在rect的横向的位于垂直方向中间那条
kCAEmitterLayerRectangle:矩形状,发射源是一个矩形,就是上面生成的那个矩形rect
kCAEmitterLayerCuboid:立体矩形形状,发射源是一个立体矩形,这里要生效的话需要设置z方向的数据,如果不设置就同矩形状
kCAEmitterLayerCircle:圆形形状,发射源是一个圆形,形状为矩形包裹的那个圆,二维的
kCAEmitterLayerSphere:立体圆形,三维的圆形,同样需要设置z方向数据,不设置则通二维一样
emitterMode 发射模式
kCAEmitterLayerPoints; 点模式,发射器是以点的形势发射粒子
如果emitterShape为kCAEmitterLayerPoint,则发射效果为在发射点发射粒
如果emitterShape为 kCAEmitterLayerLine,则发射效果为在直线两端都进行粒子的发射
如果发射形状为:kCAEmitterLayerRectangle,则发射效果为矩形的四个角
如果发射形状为:kCAEmitterLayerCircle,则发射效果同kCAEmitterLayerPoint一样
kCAEmitterLayerOutline; 整个边框都是发射点,即边框进行发射
如果emitterShape为kCAEmitterLayerPoint,则发射效果为在发射点发射
如果发射形状为kCAEmitterLayerLine:效果就是哪条直线进行抛洒
如果发射形状为kCAEmitterLayerRectangle:效果就是沿着那个矩形框的边框进行发射
如果发射形状为kCAEmitterLayerCircle:效果就是沿着那个圆形的边框进行发射
kCAEmitterLayerSurface; kCAEmitterLayerVolume同kCAEmitterLayerOutline类似。
CAEmitterCell
contents cell的内容,一般使用图片,可以采用已有的或者自己绘制都可
birthRate 出生率,代表每秒有多少个对象生成
lifetime 生存时间,这个代表对象能够存活的时间
lifetimeRange 生存时间浮动,这个代表生存时间会在这个数字内浮动。比如lifetime = 10s, lifetimeRange = 5s那么实际的每个cell的lifetime = [5s - 15s]
velocity 运动速度,这个代表粒子在抛洒中的运动速度
velocityRange 运动速度的浮动数字。同lifetimeRange的作用一样,保证了每个粒子能够有个随机的速度值
yAcceleration:Y方向的加速度,这个可以模拟地球上的重力加速度,值越大则每个粒子下落的越快
velocity=40.f; yAcceleration=15.f 所有的对象都匀速运动,而且y方向有个不断偏移的过程
velocity=40.f; velocityRange=100.f; yAcceleration=80.f 所有对象的速度不恒定了,且沿着y方向的偏移越发厉害了
emissionLongitude 抛洒的角度,就是指定cell从什么方向进行抛洒
emissionRange 抛洒角度的浮动角度,这个角度指定了抛洒出的对象能够在多大角度范围内扩散
emissionLongitude=M_PI; emissionRange=M_PI_4
emissionLongitude=0; emissionRange=M_PI_2
scale 对象的初始缩放大小
scaleRange 对象的缩放扰动范围
scaleSpeed 对象缩放的速度
alphaRange 对象的透明度扰动范围
alphaSpeed 对象的透明度的变动速度
color 对象的颜色,这里我们的cell可以对图片从新进行颜色的填充,所以如果对于我们设计的一个单色的图片来说,这个字段将很有用
redRange 红色通道的扰动范围
greenRange 绿色通道的扰动范围
blueRange 蓝色通道的扰动范围
redSpeed 红色颜色的变更速度
greenSpeed 绿色颜色的变更速度
blueSpeed 蓝色颜色的变更速度
我们通过上面的设置,可以产生随机的颜色数值,正如我们实例中所示的那样。需要注意的是如果我们设置了redSpeed、greenSpeed、blueSpeed的话,对象的最后颜色可能变为了白色或者黑色
redSpeed=.2f; greenSpeed=.2f; blueSpeed=.2f; 可以看到对象会很快的失去光泽。
网友评论