iOS开发 - 粒子效果

CAEmitterLayer 粒子发射器

  • spin:粒子的旋转位置

  • scale:粒子的缩放大小

  • seed:初始化随机的粒子种子

  • lifetime:粒子的存活时间,默认为1s

  • birthRate:粒子的创建速率,默认为1/s

  • velocity:粒子的运动速度

  • emitterCells:粒子单元数组

  • emitterSize:发射器尺寸大小

  • emitterDepth:设置发射器的深度,在某些模式下会产生立体效果

  • emitterPosition:发射器在xy平面的中心位置

  • emitterZPosition:发射器在z平面的位置

  • preservesDepth:是否开启三维空间效果

  • emitterShape:发射器的形状,这个参数的几个系统字符串如下:

    • kCAEmitterLayerLine:线的形状,粒子从一条线发出

    • kCAEmitterLayerPoint:点的形状,粒子从一个点发出

    • kCAEmitterLayerRectangle:矩形形状,粒子从一个矩形发出

    • kCAEmitterLayerCuboid:立方体形状,会影响z平面的效果

    • kCAEmitterLayerCircle:圆形形状,粒子会在圆形范围内发出

    • kCAEmitterLayerSphere:球形

  • emitterMode:发射器的发射模式,参数如下:

    • kCAEmitterLayerPoints:从发射器中发出

    • kCAEmitterLayerOutline:从发射器边缘发出

    • kCAEmitterLayerSurface:从发射器表面发出

    • kCAEmitterLayerVolume:从发射器中点发出

  • renderMode:发射器渲染模式,参数如下:

    • kCAEmitterLayerUnordered:这种模式下,粒子是无序出现的,多个发射源将混合

    • kCAEmitterLayerOldestFirst:这种模式下,声明久的粒子会被渲染在最上层

    • kCAEmitterLayerOldestLast:这种模式下,年轻的粒子会被渲染在最上层

    • kCAEmitterLayerBackToFront:这种模式下,粒子的渲染按照Z轴的前后顺序进行

    • kCAEmitterLayerAdditive:这种模式会进行粒子混合

CAEmitterCell 粒子单元

  • 设置好了粒子发射器,我们还需要初始化一些粒子单元,设置具体粒子的属性,我们使用到的类是CAEmitterCell这个类。

初始化方法

+ (instancetype)emitterCell;

常用属性

  • name:设置发射单元的名称

  • enabled:是否允许发射器渲染

  • birthRate:粒子的创建速率

  • lifetime:粒子的生存时间

  • lifetimeRange:粒子的生存时间容差

  • emissionLatitude:粒子在Z轴方向的发射角度

  • emissionLongitude:粒子在xy平面的发射角度

  • emissionRange:粒子发射角度的容差

  • velocity:粒子的速度

  • velocityRange:粒子速度的容差

  • xAcceleration:x方向的加速度

  • yAcceleration:y方向的加速度

  • zAcceleration:z方向的加速度

  • spin:旋转度

  • spinRange:旋转度容差

  • contents:渲染粒子,可以设置为一个CGImage的对象

  • contentsRect:渲染的范围

你可能感兴趣的:(Objective-c,应用开发)