美文网首页
粒子引擎使用 ——

粒子引擎使用 ——

作者: Laughingg | 来源:发表于2016-06-14 15:11 被阅读258次

粒子发射器

// 粒子发射器图层
// 每一个发射器都会有很多的粒子, 粒子定义了怎样将粒子发射和呈现到器层。
// 粒子是受 layer 的生命影响的,在 layer begin time 后开始仿真显示效果。
// 上面的粒子被绘制到 backgroundColor 和 边框上
public class CAEmitterLayer : CALayer {
    
    public var emitterCells: [CAEmitterCell]?    // 粒子容器
    public var birthRate: Float                       // 出生率(粒子的出生率乘以这个出生率就是每秒产生粒子的个数)
    public var lifetime: Float                      // 生命周期
    public var emitterPosition: CGPoint        // 发射点
    public var emitterZPosition: CGFloat     // 纵深
    public var emitterSize: CGSize            // 发射的尺寸(由于emitterShape 值的不同,这个值可能会被忽略)
    public var emitterDepth: CGFloat      // 发射器深度
    public var emitterShape: String          // 发射形状
    public var emitterMode: String          // 发射模式
    public var renderMode: String          // 渲染模式
    public var preservesDepth: Bool
    public var velocity: Float            // 产生粒子的速度
    public var scale: Float                // 繁殖粒子规模
    public var spin: Float                // 自旋
    public var seed: UInt32            // 种子
}


/** `emitterShape' values. 发射形状的值 **/
public let kCAEmitterLayerPoint: String            // 点
public let kCAEmitterLayerLine: String             // 线
public let kCAEmitterLayerRectangle: String        // 矩形
public let kCAEmitterLayerCuboid: String           // 长方体
public let kCAEmitterLayerCircle: String           // 圆
public let kCAEmitterLayerSphere: String           // 球


/** `emitterMode' values.  发射模式值 **/
public let kCAEmitterLayerPoints: String        // 点点
public let kCAEmitterLayerOutline: String       // 一行
public let kCAEmitterLayerSurface: String       // 表面
public let kCAEmitterLayerVolume: String        // 体积


/** `renderMode' values.  渲染模式 **/
public let kCAEmitterLayerUnordered: String    // 无序
public let kCAEmitterLayerOldestFirst: String   // 古老的第一
public let kCAEmitterLayerOldestLast: String    // 旧的最后
public let kCAEmitterLayerBackToFront: String  // 回到前面
public let kCAEmitterLayerAdditive: String        // 添加剂

粒子

public class CAEmitterCell : NSObject, NSCoding, CAMediaTiming {
    public class func defaultValue(forKey key: String) -> AnyObject?
    public func shouldArchiveValue(forKey key: String) -> Bool
    public var name: String?              // 粒子名称
    public var isEnabled: Bool            // 控制是否在发射器中呈现
    public var birthRate: Float            // 每秒钟发出创建的对象的数量
    public var lifetime: Float              // 粒子的生命周期
    public var lifetimeRange: Float
    public var emissionLatitude: CGFloat        // 发射的纬度
    public var emissionLongitude: CGFloat      // 发射的经度
    public var emissionRange: CGFloat            // 发射的范围
    public var velocity: CGFloat
    public var velocityRange: CGFloat
    public var xAcceleration: CGFloat
    public var yAcceleration: CGFloat
    public var zAcceleration: CGFloat
    public var scale: CGFloat
    public var scaleRange: CGFloat
    public var scaleSpeed: CGFloat
    public var spin: CGFloat
    public var spinRange: CGFloat
    public var color: CGColor?
    public var redRange: Float
    public var greenRange: Float
    public var blueRange: Float
    public var alphaRange: Float
    public var redSpeed: Float
    public var greenSpeed: Float
    public var blueSpeed: Float
    public var alphaSpeed: Float
    public var contents: AnyObject?
    public var contentsRect: CGRect
    public var contentsScale: CGFloat
    public var minificationFilter: String
    public var magnificationFilter: String
    public var minificationFilterBias: Float
    public var emitterCells: [CAEmitterCell]?
    public var style: [NSObject : AnyObject]?
}

相关文章

网友评论

      本文标题:粒子引擎使用 ——

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