关于TiledMap地图相关的知识这里就不再具体展开说了, 这里主要写一些我在cocos2dx 3.x中使用该地图时遇到的一些问题,这些问题也是cocos2dx 3.x 与2.x中更新所带来的。
下面主要讲讲Tiled Map对象层在cocos2dx中载入时遇到的问题,由于刚开始接触,我是从网上找的一些教程在学习,很可惜,现在找到的一般都是2.x版本的,所以在该对象层的载入上很多语法在3.x中是会报错的。
看下面这段代码:
/*载入tiledmap地图*/
CCTMXTiledMap* map = CCTMXTiledMap::create("level01.tmx");
/* 加载对象层 */
CCTMXObjectGroup* objGroup = map->objectGroupNamed("objects");
/* 加载玩家坐标对象 */
CCDictionary* playerPointDic = objGroup->objectNamed("PlayerPoint");
float playerX = playerPointDic->valueForKey("x")->floatValue();
float playerY = playerPointDic->valueForKey("y")->floatValue();
上面的代码是cocos2d-x 2.x版本中载入tiledmap地图对象层的方法。CCTMXObjectGroup对象存放了对象层的所有对象,objectNamed函数获取指定名称的对象层,在2.x版本中,该函数返回的是CCDictionary*类型的数据,但是在3.x版本中已经不再使用这些数据类型,转而使用各种容器来代替这些,比如CCDictionary在3.x中就用Map容器来替代&