Skip to content

raspu/RPTileScroller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.