SpriteKit Infinite Tile Scroller
Objective-C Shell C Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Example
Pod
.gitignore
LICENSE
README.md
RPTileDemo.gif
RPTileScroller.podspec

README.md

RPTileScroller

Sample Gif

A simple tile scroller following a UITableView's datasource pattern to get the content. It can be extended to support tiled maps.

Notice

This project is under development and probably not ready for production

Installation

RPTileScroller is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'RPTileScroller', '~> 0.2'

Usage

Import the library

#import <RPTileScroller.h>

Instance and configure it

_tileScroller = [[RPTileScroller alloc] initWithSize:view.bounds.size];
_tileScroller.position = CGPointMake(0,0);
_tileScroller.dataSource = self;
_tileScroller.tileSize = CGSizeMake(16, 16);
_tileScroller.backgroundNode.color = [UIColor blackColor];

Implement tileScroller:nodeForIndex: in the DataSource

- (SKNode *)tileScroller:(RPTileSc	roller *)tileScroller nodeForIndex:(RPIndexPoint)index
{
    //Use different identifiers for reusing nodes with the same content (like a tile map). 
    NSString *idt = @"Your node identifier";  
       
    SKSpriteNode *node = (SKSpriteNode *)[tileScroller dequeueReusableNodeWithIdentifier:idt];
    
    if(!node)
    {
        node = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:tileScroller.tileSize];
        node.identifier = idt;
        //Configure your node here for position index.x,index.y
    }
    
    return node;
}

Call the update method every scene update.

- (void)update:(CFTimeInterval)currentTime 
{
    [_tileScroller update:currentTime];
}

Scroll it!

_tileScroller.moveVector = CGVectorMake(15,15); 

License

RPTileScroller is available under the MIT license. See the LICENSE file for more info.