美文网首页
CAEmitterLayer,粒子发射系统

CAEmitterLayer,粒子发射系统

作者: F麦子 | 来源:发表于2017-03-24 11:31 被阅读61次

    转载:http://blog.csdn.net/wang631106979/article/details/51258020

    基于CAEmitterLayer做的点赞效果图:

    CAEmitterCell

    CAEmitterCell: CAEmitterCell是粒子发射系统里的粒子,用CAEmitterCell来定义你所需要的粒子的样式,图片,颜色,方向,运动,缩放比例和生命周期等等。

    属性列表

    属性名作用

    alphaRange一个粒子的颜色alpha能改变的范围

    alphaSpeed粒子透明度在生命周期内的改变速度

    birthrate每秒发射的粒子数量

    blueRange一个粒子的颜色blue 能改变的范围

    blueSpeed粒子blue在生命周期内的改变速度

    color粒子的颜色

    contents是个CGImageRef的对象,既粒子要展现的图片

    contentsRect应该画在contents里的子rectangle

    emissionLatitude发射的z轴方向的角度

    emissionLongitudex-y平面的发射方向

    emissionRange周围发射角度

    emitterCells粒子发射的粒子的数组

    enabled粒子是否被渲染

    greenrange一个粒子的颜色green 能改变的范围

    greenSpeed粒子green在生命周期内的改变速度

    lifetime生命周期

    lifetimeRange生命周期范围 lifetime= lifetime(+/-) lifetimeRange

    magnificationFilter增加自己的大小

    minificatonFilter减小自己的大小

    minificationFilterBias减小大小的因子

    name粒子的名字

    redRange一个粒子的颜色red 能改变的范围

    redSpeed粒子red在生命周期内的改变速度

    scale缩放比例

    scaleRange缩放比例范围

    scaleSpeed缩放比例速度

    spin子旋转角度

    spinrange子旋转角度范围

    velocity速度

    velocityRange速度范围

    xAcceleration粒子x方向的加速度分量

    yAcceleration粒子y方向的加速度分量

    zAcceleration粒子z方向的加速度分量

    - 代码示例

    let explosionCell          = CAEmitterCell()explosionCell.name="explosion"explosionCell.alphaRange=0.10explosionCell.alphaSpeed= -1.0explosionCell.lifetime=0.7explosionCell.lifetimeRange=0.3explosionCell.birthRate=0explosionCell.velocity=40.00explosionCell.velocityRange=10.00explosionCell.scale=0.03explosionCell.scaleRange=0.02explosionCell.contents= UIImage(named:"Sparkle")?.CGImage

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    CAEmitterLayer

    CAEmitterLayer:CAEmitterLayer类提供了一个粒子发射器系统为核心的动画。这些粒子是由CAEmitterCell组成的实例,它相当于一个管理者,来管理 CAEmitterCell的发射的一些细节,比如发射的位置,发射形状等等。

    属性列表

    属性名做用

    emitterPosition发射位置

    emitterSize发射源的大小

    emitterMode发射模式

    emitterShape发射源的形状

    renderMode渲染模式

    birthRate粒子产生系数,默认1.0

    emitterCells装着CAEmitterCell对象的数组,被用于把粒子投放到layer上

    emitterDepth决定粒子形状的深度联系

    emitterZposition发射源的z坐标位置

    lifetime粒子生命周期

    scale粒子的缩放比例

    seed用于初始化随机数产生的种子

    spin自旋转速度

    velocity粒子速度

    代码示例

    explosionLayer = CAEmitterLayer()explosionLayer.name="emitterLayer"explosionLayer.emitterShape= kCAEmitterLayerCircle;explosionLayer.emitterMode= kCAEmitterLayerOutline;explosionLayer.emitterSize= CGSizeMake(10,0);explosionLayer.emitterCells= [explosionCell]explosionLayer.renderMode= kCAEmitterLayerOldestFirst;explosionLayer.masksToBounds= falseexplosionLayer.position= CGPointMake(self.frame.size.width/2.0, self.frame.size.height/2.0);explosionLayer.zPosition= -1;layer.addSublayer(explosionLayer)

    相关文章

      网友评论

          本文标题:CAEmitterLayer,粒子发射系统

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