0
我读了一些教程,并期待该文档了,但我不能让我的CAEmitterLayer表现出任何颗粒。我有一个CAEmitterLayer和CAEmitterCell属性,它们都具有nonatomic属性和storng属性。也许我错过了一步,但我已经进口QuartzCore,这里是我的方法来设置层和单元,我在viewDidLoad中称:麻烦CAEmitterLayer显示颗粒
-(void) setupEmitter{
self.emitterLayer = [CAEmitterLayer layer];
self.emitterLayer.bounds = CGRectMake(0, 0, 200,200);
self.emitterLayer.position = CGPointMake(100,100);
self.emitterLayer.backgroundColor = [[UIColor clearColor] CGColor];
self.emitterLayer.emitterPosition = CGPointMake(100, 100);
self.emitterLayer.emitterSize = CGSizeMake(100, 100);
[self.view.layer addSublayer:self.emitterLayer];
}
-(void) setupEmitterCell {
self.emitterCell = [CAEmitterCell emitterCell];
self.emitterCell.name = @"goldstar";
self.emitterCell.contents = (id)[UIImage imageNamed:@"bokeh.png"].CGImage;
self.emitterCell.birthRate = 66;
self.emitterCell.lifetime = 0.5;;
self.emitterCell.lifetimeRange = 0.6;
self.emitterCell.velocity = 300;
self.emitterCell.emissionRange = 2 * M_PI;
self.emitterCell.spin = 0.0;
self.emitterCell.spinRange = 4 * M_PI;
self.emitterCell.color = [[UIColor colorWithRed:0.6 green:0.6 blue:0.6 alpha:1.0] CGColor];
self.emitterCell.scale = 1.0;
self.emitterCell.scaleRange = 1.0;
self.emitterCell.emitterCells = [NSArray arrayWithObjects:self.emitterCell, nil];
}
这就是'setupEmitterCell:'最后一行正在做的事情。 –
并非如此。您正在给发射器单元发射器单元。但是,正如@Boby_Wan所说,你并没有给予任何单元。 – matt
我看到它的方式,在'setupEmitter'处创建一个发射器;在'setupEmitterCell'你创建发射器应该使用的单元;在'setupEmitterCell'结尾处添加单元格到您的单元格? (我不确定这最后一部分。)但是你永远不会告诉'self.emitterLayer'使用'self.emitterCell'作为它的单元格。 – RoberRM