5

私はCAEmitterCellで遊んでいますが、ほとんどの効果は花火のような非常に速い効果です。しかし、私はあなたがここwww.findyourwaytooz.comで見るような遅い「星」効果を持ちたいです

CAEmitterCellでそれを行うにはどうすればよいですか?

ありがとうございました :)

4

1 に答える 1

7

私はエミッターに次のセットアップを使用するプロジェクトを持っています、そしてそれは私があなたが意味すると思うものをかなり正確に模倣します:

//set ref to the layer
starsEmitter = (CAEmitterLayer*)self.layer; //2

//configure the emitter layer
starsEmitter.emitterPosition = CGPointMake(160, 240);
starsEmitter.emitterSize = CGSizeMake(self.superview.bounds.size.width,self.superview.bounds.size.height);
NSLog(@"width = %f, height = %f", starsEmitter.emitterSize.width, starsEmitter.emitterSize.height);
starsEmitter.renderMode = kCAEmitterLayerPoints;
starsEmitter.emitterShape = kCAEmitterLayerRectangle;
starsEmitter.emitterMode = kCAEmitterLayerUnordered;

CAEmitterCell* stars = [CAEmitterCell emitterCell];
stars.birthRate = 0;
stars.lifetime = 10;
stars.lifetimeRange = 0.5;
stars.color = [[UIColor colorWithRed:255 green:255 blue:255 alpha:0] CGColor];
stars.contents = (id)[[UIImage imageNamed:@"particle.png"] CGImage];
stars.velocityRange = 500;
stars.emissionRange = 360;
stars.scale = 0.2;
stars.scaleRange = 0.1;
stars.alphaRange = 0.3;
stars.alphaSpeed  = 0.5;    
[stars setName:@"stars"];

//add the cell to the layer and we're done
starsEmitter.emitterCells = [NSArray arrayWithObject:stars];

サンプルプロジェクトをGitHubにアップロードしました:SimpleCAEmitterLayer

于 2013-02-12T23:47:47.920 に答える