获取layer图层
_tileMap->layerNamed("layername");
获取object层
_tileMap->layerNamed("layername");
CCTMXObjectGroup *pObject = _tileMap->objectGroupNamed("objects");
ValueMap map = pObject->objectNamed("myObject");
从position获取所在块的属性
Point tileCoord = this->tileCoordForPosition(position);
int tileGid = _blockage->getTileGIDAt(tileCoord);
if (tileGid)
{
ValueMap properties = _tileMap->getPropertiesForGID(tileGid).asValueMap();
if (!properties.empty())
{
//whatever you want
}
}
CCPoint tileCoordForPosition(const cocos2d::CCPoint &ptPos)
{
CCPoint pt;
pt.x = ptPos.x / _tileMap->getTileSize().width;
pt.y = (_tileMap->getTileSize().height * _tileMap->getMapSize().height - ptPos.y) / _tileMap->getTileSize().height;
// 化为整数
pt.x = (int)pt.x;
pt.y = (int)pt.y;
// 返回
return pt;
}