本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010
一、贴图地图类CCTileMapAtlas
除了利用CCTMXTiledMap类创建地图对象外,还有一种创建地图的方法,就是使用贴图地图类
CCTileMapAtlas。CCTileMapAtlas类的继承关系如下图所示。
CCTileMapAtlas类的常用函数见下图所示。
二、项目实例
1、首先新建Cocos2D-X项目,取名为“MyCCTileMapAtlas”,然后在HelloWorldScene.cpp文件的init函数中添加如下代码。
bool HelloWorld::init()
{
bool bRet = false;
do
{
CC_BREAK_IF(! CCLayer::init());
CCTileMapAtlas* map = CCTileMapAtlas::create("tiles.png", "levelmap.tga", 16, 16);
// Convert it to "alias" (GL_LINEAR filtering)
map->getTexture()->setAntiAliasTexParameters();
// If you are not going to use the Map, you can free it now
// NEW since v0.7
map->releaseMap();
addChild(map, 0, 1);
map->setAnchorPoint( ccp(0, 0.5f) );
CCScaleBy *scale = CCScaleBy::create(4, 0.8f);
CCActionInterval *scaleBack = scale->reverse();
CCSequence* seq = CCSequence::create(scale, scaleBack, NULL);
map->runAction(CCRepeatForever::create(seq));
bRet = true;
} while (0);
return bRet;
}
定义 CCTileMapAtlas需要两个参数,第一个参数是类似于之前使用的地图图素集的图片路径,第二个参数是TGR
图片的路径。TGR类似于地图图素排列的数据,也可以由相应的编辑器编辑。但是,现在使用Tiled编辑器更加方便,
而且贴图地图类的功能也比Tiled编辑器的少,所以目前这种方法不被推荐使用,这里我们只要理解这种方法就可以
了。
2、实例效果图