![Tiled 使用时的注意事项 - long_wtf - Jeanny](http://img0.ph.126.net/BPmizOgQd-frXbuLo8wRiQ==/3795127111089881040.png)
![Tiled 使用时的注意事项 - long_wtf - Jeanny](http://img2.ph.126.net/mUHYNZcoinvywrXc2lM4fw==/2533837740367444829.png)
后面的一串才是向场景内摆放的对象。最后的“插入图块”,可在图块框内选择图块并加入到对象层。这里有两点要注意:1.放置位置是基于像素,不是基于格子的。 2.对象层的物件,包括图块,cocos2d-x内是不会显示的。
使用:
加载地图:CCTMXTiledMap *map = CCTMXTiledMap::create( "t.tmx" ); addChild( map );
cocos2d-x提供了两个对象可以分别获得tiled的图层数据。
CCTMXLayer :CCTMXLayer *layer = map->layerNamed( "1" );
CCTMXObjectGroup :CCTMXObjectGroup *object= map->objectGroupNamed( "2" );
CCTMXLayer 常用的成员如下:
CCSprite* tileAt(const CCPoint& tileCoordinate);
unsigned int tileGIDAt(const CCPoint& tileCoordinate);
CCTMXObjectGroup 的常用操作,便是对象属性的获取。对象层上的所有对象都保存在一个CCArray中,每一个对象又是一个 CCDictionry 类型数据,使用 objectForKey( “key” ); 就能获得"key"所存储的字段。有4个默认字段 x、y、width、height。
添加对象属性需要在对象层的对象上点右键
![Tiled 使用时的注意事项 - long_wtf - Jeanny](http://img1.ph.126.net/tsTmpMJcmNwO1xwo1Us0hA==/6597891101844191431.png)
CCTMXObjectGroup *group = map->objectGroupNamed( "2" );
CCArray *objects = group->getObjects();
CCDictionary *dic = NULL;
CCObject *obj = NULL;
CCARRAY_FOREACH( objects, obj ){
dic = (CCDictionary*)obj;
int x = ((CCString*)dic->objectForKey("x"))->intValue();
}