【问题标题】:Trouble getting CAEmitterLayer to show particles无法让 CAEmitterLayer 显示粒子
【发布时间】:2015-09-07 10:34:29
【问题描述】:

我已经阅读了一些教程并查看了文档,但我无法让我的 CAEmitterLayer 显示任何粒子。我有一个 CAEmitterLayer 和 CAEmitterCell 属性,并且都具有非原子属性和 storng 属性。也许我错过了一步,但我已经导入了 QuartzCore,这是我设置层和单元格的方法,我在 viewDidLoad 中调用:

-(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];
}

【问题讨论】:

    标签: ios caemitterlayer caemittercell


    【解决方案1】:

    我可能是错的,但问题似乎是您忘记告诉发射器应该使用什么作为单元格?也许使用[self.emitterLayer setEmitterCells:self.emitterCell]; 可能会有所帮助。

    【讨论】:

    • setupEmitterCell: 的最后一行就是这样做的。
    • 不是这样。您正在给发射器单元发射器单元。但是,正如@Boby_Wan 所说,你没有给 emitter 任何细胞。
    • 在我看来,setupEmitter 你创建了一个发射器;在setupEmitterCell,您创建发射器应使用的单元;在setupEmitterCell 的末尾,您将单元格添加到您的单元格中吗? (我不确定最后一部分。)但是你永远不会告诉self.emitterLayer 使用self.emitterCell 作为它的单元格。
    • 好的,我明白了。图层和单元都具有“单元”属性,这有点令人困惑,我只是掩盖了这一点。谢谢!
    • 不客气!我很高兴我能帮助你。 :)
    猜你喜欢
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    相关资源
    最近更新 更多