博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CCTMXTiledMap的相关用法

Posted on 2011-10-30 15:01  星尘的天空  阅读(539)  评论(0编辑  收藏  举报

关于 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层中。