Inherits from CCNode : NSObject
Declared in HKTMXTiledMap.h

Overview

CCTMXTiledMap knows how to parse and render a TMX map.

It adds support for the TMX tiled map format used by http://www.mapeditor.org It supports isometric, hexagonal and orthogonal tiles. It also supports object groups, objects, and properties.

Features: – Each tile will be treated as an CCSprite – The sprites are created on demand. They will be created only when you call “[layer tileAt:]” – Each tile can be rotated / moved / scaled / tinted / “opacitied”, since each tile is a CCSprite – Tiles can be added/removed in runtime – The z-order of the tiles can be modified in runtime – Each tile has an anchorPoint of (0,0) – The anchorPoint of the TMXTileMap is (0,0) – The TMX layers will be added as a child – The TMX layers will be aliased by default – The tileset image will be loaded using the CCTextureCache – Each tile will have a unique tag – Each tile will have a unique z value. top-left: z=1, bottom-right: z=max z – Each object group will be treated as an NSMutableArray – Object class which will contain all the properties in a dictionary – Properties can be assigned to the Map, Layer, Object Group, and Object

Limitations: – It only supports one tileset per layer. – Embeded images are not supported – It only supports the XML format (the JSON format is not supported)

Technical description: Each layer is created using an CCTMXLayer (subclass of CCSpriteSheet). If you have 5 layers, then 5 CCTMXLayer will be created, unless the layer visibility is off. In that case, the layer won’t be created at all. You can obtain the layers (CCTMXLayer objects) at runtime by: – [map getChildByTag: tag_number]; // 0=1st layer, 1=2nd layer, 2=3rd layer, etc… – [map layerNamed: name_of_the_layer];

Each object group is created using a CCTMXObjectGroup which is a subclass of NSMutableArray. You can obtain the object groups at runtime by: – [map objectGroupNamed: name_of_the_object_group];

Each object is a CCTMXObject.

Each property is stored as a key-value pair in an NSMutableDictionary. You can obtain the properties at runtime by:

    [map propertyNamed: name_of_the_property];
    [layer propertyNamed: name_of_the_property];
    [objectGroup propertyNamed: name_of_the_property];
    [object propertyNamed: name_of_the_property];

Tasks

Properties

mapOrientation

map orientation

@property (nonatomic, readonly) int mapOrientation

Declared In

HKTMXTiledMap.h

mapSize

the map’s size property measured in tiles

@property (nonatomic, readonly) CGSize mapSize

Declared In

HKTMXTiledMap.h

objectGroups

object groups

@property (nonatomic, readwrite, retain) NSMutableArray *objectGroups

Declared In

HKTMXTiledMap.h

properties

properties

@property (nonatomic, readwrite, retain) NSMutableDictionary *properties

Declared In

HKTMXTiledMap.h

tileSize

the tiles’s size property measured in pixels

@property (nonatomic, readonly) CGSize tileSize

Declared In

HKTMXTiledMap.h

Class Methods

tiledMapWithTMXFile:

creates a TMX Tiled Map with a TMX file.

+ (id)tiledMapWithTMXFile:(NSString *)tmxFile

Declared In

HKTMXTiledMap.h

Instance Methods

groupNamed:

return the TMXObjectGroup for the secific group (Deprecated: Use map#objectGroupNamed instead)

- (CCTMXObjectGroup *)groupNamed:(NSString *)groupName

Declared In

HKTMXTiledMap.h

initWithTMXFile:

initializes a TMX Tiled Map with a TMX file

- (id)initWithTMXFile:(NSString *)tmxFile

Declared In

HKTMXTiledMap.h

layerNamed:

return the TMXLayer for the specific layer

- (HKTMXLayer *)layerNamed:(NSString *)layerName

Declared In

HKTMXTiledMap.h

objectGroupNamed:

return the TMXObjectGroup for the secific group

- (CCTMXObjectGroup *)objectGroupNamed:(NSString *)groupName

Declared In

HKTMXTiledMap.h

propertiesForGID:

return properties dictionary for tile GID

- (NSDictionary *)propertiesForGID:(unsigned int)GID

Declared In

HKTMXTiledMap.h

propertyNamed:

return the value for the specific property name

- (id)propertyNamed:(NSString *)propertyName

Declared In

HKTMXTiledMap.h