CALayer *viewLayer = [self.view layer];
// Create a particle emission layer and set its properties.
layer = [CAEmitterLayer layer];
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"star copy" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
id cgimage = (__bridge id)[image CGImage];
[[layer contents] addObject:cgimage];
CGRect rect = viewLayer.frame;
[layer setFrame:rect];
layer.emitterPosition = layer.position; //
layer.emitterSize = [image size];
layer.emitterShape = kCAEmitterLayerCircle;
layer.lifetime = 3;
// Create an emitter cell for the little stars.
CAEmitterCell *emitterCell = [CAEmitterCell emitterCell];
emitterCell.contents = cgimage;
emitterCell.birthRate = 4;
emitterCell.lifetime = 2;
emitterCell.lifetimeRange = 1;
emitterCell.velocity = 300;
emitterCell.velocityRange = 20;
emitterCell.emissionRange = M_PI * 2.0f;
// Create the trail.
CAEmitterCell *trailEmitterCell = [CAEmitterCell emitterCell];
trailEmitterCell.velocity = 0;
trailEmitterCell.birthRate = 50;
trailEmitterCell.lifetime = 0.2;
trailEmitterCell.emissionRange = 1.0f;
NSString *trailImagePath = [[NSBundle mainBundle] pathForResource:@"r" ofType:@"png"];
id trailImage = (__bridge id)[[UIImage imageWithContentsOfFile:trailImagePath] CGImage];
trailEmitterCell.contents = trailImage;
[emitterCell setEmitterCells:[NSArray arrayWithObject:trailEmitterCell]];
layer.emitterCells = [NSArray arrayWithObject:emitterCell];
[viewLayer addSublayer:layer];