关于 CCTMXTiledMap 的相关用法
CCTMXTiledMap地图是可以被cocos2D支持的一种地图格式,我们可以使用开源的地图编辑工具来编辑他们,创建他们,最后保存为TMX格式的地图,
1:如何加载地图:
参考代码:
// Inside the HelloWorld class declaration
CCTMXTiledMap *_tileMap;
CCTMXLayer *_background;
// After the class declaration
@property (nonatomic, retain) CCTMXTiledMap *tileMap;
@property (nonatomic, retain) CCTMXLayer *background;
// Right after the implementation section
@synthesize tileMap = _tileMap;
@synthesize background = _background;
// In dealloc
self.tileMap = nil;
self.background = nil;
// Replace the init method with the following
-(id) init
{
if( (self=[super init] )) {
self.tileMap = [CCTMXTiledMap tiledMapWithTMXFile:@"TileMap.tmx"];
self.background = [_tileMap layerNamed:@"Background"];
[self addChild:_tileMap z:-1];
}
return self;
}
这里,我们调用CCTMXTiledMap类的一些方法,把我们刚刚创建的地图文件加载进去。
一些简明的CCTMXTiledMap的背景知识。它是一个CCNode,你可以设置它的位置和比例等。这个地图的孩子是一些层,而且提供了一个帮助函数可以让你通过层的名字得到层对象--我们上面就是通过这种方面获得地图背景的。每一个层都是一个CCSpriteSheet的子类,这里考虑了性能的原因--但是这也意味着每一个层只能有一个tile集。
因此,我们这里做的所有这些,就是指向一个tile地图,然后保存背景层的引用,并且把tile地图加到HelloWorld层中。