首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAEmitterCell -慢星或光效

CAEmitterCell -慢星或光效
EN

Stack Overflow用户
提问于 2013-02-13 02:13:56
回答 1查看 2.7K关注 0票数 5

我在玩CAEmitterCell,但大多数效果都是非常快的效果,比如烟花。但是我想要一个缓慢的“星星”效果,就像你在www.findyourwaytooz.com上看到的那样

我怎样才能用CAEmitterCell做到这一点?

谢谢您:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-13 07:47:48

我有一个项目,它使用以下设置发射器,它非常准确地模仿了我认为你的意思:

代码语言:javascript
复制
//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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14839022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档