I want to make particles inside the rectangle.
What is wrong in this code? It is emitted from only the emitter position, not, random position in rectangle.
fireEmitter = [CAEmitterLayer layer];
[self.view.layer fireEmitter];
fireEmitter.emitterPosition = self.view.center;
fireEmitter.emitterSize =CGSizeMake(100, 100);
fireEmitter.renderMode = kCAEmitterLayerRectangle;
fireEmitter.emitterCells = [NSArray arrayWithObjects:fire, nil];
kCAEmitterLayerRectangle
is not a valid value for renderMode
. Instead you should use one of these values
kCAEmitterLayerUnordered
kCAEmitterLayerOldestFirst
kCAEmitterLayerOldestLast
kCAEmitterLayerBackToFront
kCAEmitterLayerAdditive
The kCAEmitterLayerRectangle
value should be set as the emitterShape
which defaults to kCAEmitterLayerPoint
. That is why you are only emitting from a single point. The valid emitterShapes are:
kCAEmitterLayerPoint
kCAEmitterLayerLine
kCAEmitterLayerRectangle
kCAEmitterLayerCuboid
kCAEmitterLayerCircle
kCAEmitterLayerSphere
Please refer to the documentation for their meaning.