Class CCTMXTiledMap

#include <Geode/cocos/tilemap_parallax_nodes/CCTMXTiledMap.h>
classCCTMXTiledMap:publiccocos2d::CCNode{ ... }

Since v0.8.1

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(position)”
  • Each tile can be rotated / moved / scaled / tinted / “opaqued”, 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 CCMutableArray
  • 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.
  • Embedded 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 CCSpriteBatchNode). 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 CCMutableArray. 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 CCMutableDictionary. 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);
Examples0
Public static methods2
staticcocos2d::CCTMXTiledMap*create(
charconst*tmxFile
)

creates a TMX Tiled Map with a TMX file.

staticcocos2d::CCTMXTiledMap*createWithXML(
charconst*tmxString
,
charconst*resourcePath
)

initializes a TMX Tiled Map with a TMX formatted XML string and a path to TMX resources

Public member functions16
virtualcocos2d::CCSizeconst&getMapSize()const

the map’s size property measured in tiles

virtualvoidsetMapSize()

the map’s size property measured in tiles

virtualcocos2d::CCSizeconst&getTileSize()const

the tiles’s size property measured in pixels

virtualvoidsetTileSize()

the tiles’s size property measured in pixels

virtualintgetMapOrientation()const

map orientation

virtualvoidsetMapOrientation(
intvar
)

map orientation

virtualcocos2d::CCArray*getObjectGroups()

object groups

virtualvoidsetObjectGroups()

object groups

virtualcocos2d::CCDictionary*getProperties()

properties

virtualvoidsetProperties()

properties

boolinitWithTMXFile(
charconst*tmxFile
)

initializes a TMX Tiled Map with a TMX file

boolinitWithXML(
charconst*tmxString
,
charconst*resourcePath
)

initializes a TMX Tiled Map with a TMX formatted XML string and a path to TMX resources

cocos2d::CCTMXLayer*layerNamed(
charconst*layerName
)

return the TMXLayer for the specific layer

cocos2d::CCTMXObjectGroup*objectGroupNamed(
charconst*groupName
)

return the TMXObjectGroup for the specific group

cocos2d::CCString*propertyNamed(
charconst*propertyName
)

return the value for the specific property name

cocos2d::CCDictionary*propertiesForGID(
intGID
)

return properties dictionary for tile GID

Fields0
Protected member functions0
Protected fields6
cocos2d::CCSizem_tMapSize
;

the map’s size property measured in tiles

cocos2d::CCSizem_tTileSize
;

the tiles’s size property measured in pixels

intm_nMapOrientation
;

map orientation

cocos2d::CCArray*m_pObjectGroups
;

object groups

;

properties

cocos2d::CCDictionary*m_pTileProperties
;

//! tile properties