Objective c 是否可以自定义CAEmitterCell发射的粒子的颜色?

Objective c 是否可以自定义CAEmitterCell发射的粒子的颜色?,objective-c,core-animation,caemittercell,Objective C,Core Animation,Caemittercell,我正在使用CAEmitterCell生成给定图像中各种不同颜色的粒子: CAEmitterCell *emitterCell = [CAEmitterCell emitterCell]; emitterCell.birthRate = 256; emitterCell.lifetime = 3.0f; emitterCell.lifetimeRange = 2.0f; emitterCell.emissionRange = 2 * M_PI; emitterCell.velocity = 102

我正在使用
CAEmitterCell
生成给定图像中各种不同颜色的粒子:

CAEmitterCell *emitterCell = [CAEmitterCell emitterCell];
emitterCell.birthRate = 256;
emitterCell.lifetime = 3.0f;
emitterCell.lifetimeRange = 2.0f;
emitterCell.emissionRange = 2 * M_PI;
emitterCell.velocity = 1024;
emitterCell.contents = (__bridge id)myImage;
emitterCell.color = [NSColor whiteColor].CGColor;
emitterCell.redRange = 1.0;
emitterCell.greenRange = 1.0;
emitterCell.blueRange = 1.0;
emitterCell.alphaSpeed = -0.5;
这就产生了各种颜色的粒子。我想限制它只改变颜色的色调,同时保持饱和度和亮度不变(分别为100%和50%),以创造一个更愉快的颜色彩虹


使用
CAEmitterCell
可以做到这一点吗?

您是说您的代码会使颜色饱和度和亮度波动吗?现有代码似乎在
rgb(0.0,0.0,0.0)
rgb(1.0,1.0,1.0)
之间使用均匀分布的颜色,因此会产生各种饱和度和亮度。