//------------------------------------------------------------------
CCTMXTiledMap 中的图层是从下到上 依次刷新屏幕的。 最底层的 layer 最先显示。 上面层的 layer 将会覆盖下面层的显示。
如下图所示:刷新屏幕显示的顺序依次是: grass, tress4, tress3, tress2. 后刷新的图层将会覆盖前面的显示。
//------------------------------------------------------------------
// 将当前的地图层中,将某一个网格处的图片显示转换为
CCSprite
对象
CCSprite * m_sprite = mapLayer->tileAt( ccp(29,29) ); //
ccp(29,29)
为地图网格坐标
m_sprite->retain();
//------------------------------------------------------------------
CCTMXTiledMap *map = CCTMXTiledMap::tiledMapWithTMXFile("TileMaps/test.tmx"); // 加载地图
addChild(map, 0, kTagTileMap);
CCSize s = map->getContentSize(); // 地图显示区域大小
// because I'm lazy, I'm reusing a tile as an sprite, but since this method uses vertexZ, you
// can use any CCSprite and it will work OK.
CCTMXLayer* layer = map->layerNamed("grass"); // 得到 名字为 grass 的地图层的数据
CCSprite * m_sprite
= layer->tileAt(ccp(0,11)); // 将当前图层中, 地图网格位置 0,11 处的单元显示转换为 一个
CCSprite, 次 sprite 已经随地图进行
addChild 了。 此处不需要在调用
addChild