我正在尝试让 CAEmitterLayer 制作一种光剑动画。我想要一束光从一个点出现并停止。我的问题是我无法让动画的开始顺利进行。一旦我运行代码,它就好像已经过了几秒钟而没有任何动画。
我尽可能地剥离了代码,看看我是否能找到问题的根源,但即使是最简单的,它仍然会发生。这是我现在仍然存在问题的代码示例:
CAEmitterLayer *emitterLayer = [CAEmitterLayer layer];
emitterLayer.emitterPosition = CGPointMake(10, 10);
CAEmitterCell *emitterCell = [CAEmitterCell emitterCell];
emitterCell.contents = (id)[[UIImage imageNamed:@"LightParticle"] CGImage];
emitterCell.birthRate = 100;
emitterCell.lifetime = 10;
emitterCell.velocity = 10;
emitterLayer.emitterCells = @[emitterCell];
[self.view.layer addSublayer:emitterLayer];
我猜我一定错过了一些明显的东西,但我已经好几天没能解决这个问题了。
将birthRate 设置为0 将使光束平滑消失,但将其设置回任意数字将导致它再次出现而没有动画。
感谢您的帮助。