zoukankan      html  css  js  c++  java
  • 关于粒子发射(CAEmitterLayer)

    技术是条长而远的路,只有不断学习丰富自己的技能才能让自己行走在路上!

    CAEmitterCell

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

    • 属性列表
    属性名作用
    alphaRange 一个粒子的颜色alpha能改变的范围
    alphaSpeed 粒子透明度在生命周期内的改变速度
    birthrate 每秒发射的粒子数量
    blueRange 一个粒子的颜色blue 能改变的范围
    blueSpeed 粒子blue在生命周期内的改变速度
    color 粒子的颜色
    contents 是个CGImageRef的对象,既粒子要展现的图片
    contentsRect 应该画在contents里的子rectangle
    emissionLatitude 发射的z轴方向的角度
    emissionLongitude x-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.10
    explosionCell.alphaSpeed    = -1.0
    explosionCell.lifetime      = 0.7
    explosionCell.lifetimeRange = 0.3
    explosionCell.birthRate     = 0
    explosionCell.velocity      = 40.00
    explosionCell.velocityRange = 10.00
    explosionCell.scale         = 0.03
    explosionCell.scaleRange    = 0.02
    explosionCell.contents      = UIImage(named: "Sparkle")?.CGImage


    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 = false
    explosionLayer.position      = CGPointMake(self.frame.size.width/2.0, self.frame.size.height/2.0);
    explosionLayer.zPosition     = -1;
    layer.addSublayer(explosionLayer)
  • 相关阅读:
    软件工程——股票利润
    软件工程——爬楼梯
    总结
    团队4
    团队答辩
    团队3
    软工2
    团队合作(1)
    软件工程第二次作业
    软件工程第一次作业(2)
  • 原文地址:https://www.cnblogs.com/Ice-snowPride/p/5729036.html
Copyright © 2011-2022 走看看