Skip to content

Instantly share code, notes, and snippets.

@augusteo
Created April 13, 2015 03:48
Show Gist options
  • Save augusteo/d8a1ecae5e39da3d1bfe to your computer and use it in GitHub Desktop.
Save augusteo/d8a1ecae5e39da3d1bfe to your computer and use it in GitHub Desktop.
import UIKit
import QuartzCore
class SnowView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
let emitter = layer as CAEmitterLayer
emitter.emitterPosition = CGPoint(x: bounds.size.width / 2, y: 0)
emitter.emitterSize = bounds.size
emitter.emitterShape = kCAEmitterLayerRectangle
let emitterCell = CAEmitterCell()
emitterCell.contents = UIImage(named: "flake.png")!.CGImage
emitterCell.birthRate = 200
emitterCell.lifetime = 3.5
emitterCell.color = UIColor.redColor().CGColor
emitterCell.redRange = 0.0
emitterCell.blueRange = 0.1
emitterCell.greenRange = 0.0
emitterCell.velocity = 10
emitterCell.velocityRange = 350
emitterCell.emissionRange = CGFloat(M_PI_2)
emitterCell.emissionLongitude = CGFloat(-M_PI)
emitterCell.yAcceleration = 70
emitterCell.xAcceleration = 0
emitterCell.scale = 0.33
emitterCell.scaleRange = 1.25
emitterCell.scaleSpeed = -0.25
emitterCell.alphaRange = 0.5
emitterCell.alphaSpeed = -0.15
emitter.emitterCells = [emitterCell]
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override class func layerClass() -> AnyClass {
return CAEmitterLayer.self
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment