Quantcast
Channel: stunning co.de
Viewing all articles
Browse latest Browse all 20

UIImage Sprite Additions. Objective-C.

$
0
0

UIImage Sprite Additions

I wrote an useful UIImage category for handling sprite sheets. The add-on smoothes the way of extracting images from a sprite sheet (or texture atlas).

This can be useful in UIImageView animations where animationImages array has to be filled with a set of images representing frames. UIImage-Sprite category makes this process trivial by introducing two methods:

-(NSArray *)spritesWithSpriteSheetImage:(UIImage *)image spriteSize:(CGSize)size; -(NSArray *)spritesWithSpriteSheetImage:(UIImage *)image inRange:(NSRange)range spriteSize:(CGSize)size; 

The first method returns an array with UIImages. Original sprite sheet (image) is sliced into smaller chunks, each of the specified size.

Second method is very similar – extends the first one with option of specifying the range of the chunks we want to get.

I wrote this add-on to facilitate the setup of short animations using UIImageView. For more complex animations I recommend using OpenGLES.

I also wrote the SpriteAnimationDemo project that presents the usage of the UIImage+Sprite methods. The example shows how to create an animated UIImageView. This cool explosion sprite sheet which I included in the demo can be found at http://gushh.net/blog/free-game-sprites-explosion-3/. I added some numbers to this image to make testing and debugging easier.

The code is distributed under the terms and conditions of the MIT license and can be found at my github: https://github.com/r3econ/UIImage-Sprite-Additions

Note that for performance reasons you should not fire these methods every time you want to get the array of animation frames. You should rather fire it once and store the output array somewhere. This is because the Core Graphics image manipulation operations (especially on large images) are not so fast and your application may slow down.



Viewing all articles
Browse latest Browse all 20

Trending Articles