使用 TileMapEdit 编辑地图,然后保存为 tmx 文件,然后把tmx文件和png原图放到Resource目录下。
cocos2d中使用 CCTMXTiledMap 来读取tmx文件:
CCTMXTiledMap *map = [CCTMXTiledMap tiledMapWithTMXFile:@"test.tmx"];
[self addChild:map];
tmx是XML格式的文件。
使用 CCTMXLayer 获得视图层:
CCTMXLayer *eventLayer = [map layerNamed:@"GameEventLayer"];
然后你可以使用瓦块在地图中的坐标获得GID(全局标示符):
int gid = [eventLayer tileGIDAt:ccp(4,1)];
如果GID==0表示在该位置没有瓦块,你将会透过当前层看到下层的地图,如果GID!=0你可以获得该瓦块的属性:
if (gid != 0) {
NSDictionary *dic = [map propertiesForGID:gid];
if (dic != nil) {
//
}
}
瓦块中的所有属性将会保存在dic字典中,属性是在TileMapEdit编辑