title: animating the CAEmitterCell Color property
body: <p>I have a <code>CAEmitterCell</code> and I have set it up with a specific colour. The documentation says that <a href="https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CAEmitterCell_class/Reference/Reference.html" rel="noreferrer">this property is animatable</a>, and I would like to animate this between a number of different colours for the different players in my game (all of whom choose their color at the start).</p>
  
  <p>Here is my <code>EmitterCell</code> when I set it up:</p>
  
  <pre><code>//
      // Emitter Cells
      //
  
      // 'New Emitter' cell configuration
      newEmitter = [CAEmitterCell emitterCell];
      newEmitter.scaleSpeed = 10;
      newEmitter.lifetime = 2.481715;
      newEmitter.velocity = 332.3636968085106;
      newEmitter.contents = newemitterImg;
      newEmitter.name = @"New Emitter";
      newEmitter.color = [[UIColor colorWithRed:0.50 green:0.00 blue:1.00 alpha:1.00] CGColor];
      newEmitter.scaleRange = 4.178236607142859;
      newEmitter.lifetimeRange = 1.6;
      newEmitter.greenRange = -2.775558e-17;
      newEmitter.birthRate = 40;
      newEmitter.emissionRange = -6.283185306666667;
      newEmitter.scale = 0;
  
      //
      // Emitter Cell Chains
      //
      emitter.emitterCells = [NSArray arrayWithObjects:newEmitter, nil];
  </code></pre>
  
  <p>And here is where I am testing the color change in this case just bouncing between two different colors:</p>
  
  <pre><code>-(void)changeColor {
  
      if (color == 0) {
          color = 1;
          NSLog(@"color = 1");
  
          [UIView animateWithDuration:1.5 delay:0 options:0 animations:^{
              newEmitter.color = [[UIColor colorWithRed:0.50 green:0.00 blue:1.00 alpha:1.00] CGColor];
          } completion:^(BOOL finished) {[self performSelector:@selector(changeColor) withObject:nil afterDelay:2];}];
      } else {
          color = 0;
          NSLog(@"color = 0");
          [UIView animateWithDuration:1.5 delay:0 options:0 animations:^{
              newEmitter.color = [[UIColor colorWithRed:1.00 green:0.50 blue:0.10 alpha:1.00] CGColor];
          } completion:^(BOOL finished) {[self performSelector:@selector(changeColor) withObject:nil afterDelay:2];}];
      }
  
  }
  </code></pre>
  
  <p>However, when I run this the color never changes. Have I misunderstood the nature of "<strong>Animatable</strong>" here, or do I just need to go about it differently for a <code>CAEmitterCell</code>?</p>