I create an animation like this:
//xxx animation cache
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"mainmenu_xxx.plist"];
//xxx blink
CCAnimation *animXxx1Anim = [CCAnimation animationWithSpriteSequence:@"char_xxx_loops%@@2x.png" frameSequence:@"02,03,04" delay:1/24.0];
[animXxx1Anim setRestoreOriginalFrame:NO];
[[CCAnimationCache sharedAnimationCache] addAnimation:animXxx1Anim name:@"xxxBlink"];
and then run it like this:
//blink animation
[animatedXxxSprite runAction:[CCAnimate actionWithAnimation:[[CCAnimationCache sharedAnimationCache] animationByName:@"xxxBlink"]]];
It shows as it should on simulator, iPhone 3GS, iPhone 4S, but it shows as a black rectangle on iPod 4G. Any idea what could be causing it?
The problem was with the texture size. It is recomended that the texture size is lower than 1024x1024 pixels.
Also, sometimes, textures are shown with a very small (1-2 px) position error if it is not in POT format.