All Projects → raspu → Rptilescroller

raspu / Rptilescroller

Licence: mit
SpriteKit Infinite Tile Scroller

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].