HKTMXTiledMap Class Reference
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
-
mapSize
the map’s size property measured in tiles
property -
tileSize
the tiles’s size property measured in pixels
property -
mapOrientation
map orientation
property -
objectGroups
object groups
property -
properties
properties
property -
+ tiledMapWithTMXFile:
creates a TMX Tiled Map with a TMX file.
-
– initWithTMXFile:
initializes a TMX Tiled Map with a TMX file
-
– layerNamed:
return the TMXLayer for the specific layer
-
– objectGroupNamed:
return the TMXObjectGroup for the secific group
-
– groupNamed:
return the TMXObjectGroup for the secific group (Deprecated: Use map#objectGroupNamed instead)
-
– propertyNamed:
return the value for the specific property name
-
– propertiesForGID:
return properties dictionary for tile GID
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
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