美文网首页
CAEmitterLayer(粒子系统)参数

CAEmitterLayer(粒子系统)参数

作者: 雨润听潮 | 来源:发表于2017-04-17 17:04 被阅读38次

    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; 可以看到对象会很快的失去光泽。

    相关文章

      网友评论

          本文标题: CAEmitterLayer(粒子系统)参数

          本文链接:https://www.haomeiwen.com/subject/zjvtzttx.html