How to animate different size of images in iOS7 SpriteKit?

729 views Asked by At

I am using the flowing code to animate my sprite node.

        NSMutableArray *jumpUpTextures = [NSMutableArray arrayWithCapacity:10];
        for (int i = 0; i < 4; i++) {
            NSString *textureName = [NSString stringWithFormat:@"runnerJumpUp%d", i];
            SKTexture *texture = [SKTexture textureWithImageNamed:textureName];
            [jumpUpTextures addObject:texture];
        }

        SKAction *jumpUpAnimation = [SKAction animateWithTextures:jumpUpTextures timePerFrame:0.2]; 

The animation works alright except one image looks bigger and blur. I have 4 images which have size as below:

runnerJumpUp0.png 62*56
runnerJumpUp1.png 62*56
runnerJumpUp2.png 62*56
runnerJumpUp3.png 47*56

The last one's size is different from the other three. When the animation runs, the last image will scale up. The last frame of the sprite will looks bigger than the others. Would you please advise how can I fix that?

Thanks a lot.

Jake

1

There are 1 answers

2
CodeSmile On BEST ANSWER

Use animateWithTextures:timePerFrame:resize:restore: and set resize to YES.