位置: 编程技术 - 正文

cocos2d-x初探学习笔记(28)--CCTMXTiledMap(cocos2d-x教程)

编辑:rootadmin

推荐整理分享cocos2d-x初探学习笔记(28)--CCTMXTiledMap(cocos2d-x教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx怎么用啊,cocos2dx入门,cocos2d-x教程,cocos2dx官方教程,cocos2dx4.0入门,cocos2dx4.0入门,cocos2dx入门,cocos2dx4.0入门,内容如对您有帮助,希望把文章链接给更多的朋友!

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址 *map = CCTMXTiledMap::tiledMapWithTMXFile("iso-test-zorder.tmx");

很简单,参数就是通过Tiles工具生成的.tmx文件(这个工具及其用法请看之前的瓦片地图集那一节,这里就不再赘述了)。如果初始化了一个地图,我们就可以通过addChild(map, 0, kTagTileMap)把它加入到我们的层次和场景中,然后要在该场景中获得这个地图实例,我们可以通过CCTMXTiledMap* map = (CCTMXTiledMap*) getChildByTag(kTagTileMap)来获得。

CCTMXTiledMap中的每一个tile都是CCSprite类型的,但是这个CCSprite并不是一直存在,而是当我们的程序中需要控制一个图素时(更改图素等),我们通过以下这个语句获得图素的CCSprite:

CCSprite *newadd = layer->tileAt(aimmapindex);

参数就是图素的横纵坐标索引&#;,获得这个CCSprite后,我们就可以控制这个CCSprie旋转,缩放,或者是给他挂上各种Action(通过runAction)

我们可以通过map->getMapSize().width和map->getMapSize().height获得地图横纵的图素个数。

我们可以通过map->getTileSize().width和map->getTileSize().height获得地图图素的宽高。

cocos2d-x初探学习笔记(28)--CCTMXTiledMap(cocos2d-x教程)

我们可以通过map->getContentSize().width和map->getContentSize().height获得整体地图的宽高。但是这个有个问题,就是当我们进行整个的地图缩放的时候,这个宽高&#;不会变化,我们必须通过map->getScale()获得缩放参数并把它乘以宽高及获得真实宽高。

关于地图的gid,我对gid的理解就是每个图素的索引,也就是说改变这个位置的gid&#;就改变了这个位置的图素图片,我们可以通过layer->tileGIDAt(ccp(mapindex.x,mapindex.y));来获得在某个位置的地图gid。并且可以通过layer->setTileGID(4,aimmapindex);设置某个位置的gid&#;,其中第一个参数为要设置的gid,第二个参数是本位置的宽高索引。

Gid还有个用途就是获得地图的属性&#;,这个属性&#;是通过Tiles工具来设置,用法如下:

CCMutableDictionary<string,CCString *> *tiledic = map->propertiesForGID(tilegid);

CCString *mvalue = tiledic->objectForKey("conflict");

int mv = mvalue->toInt();

获得的是个键&#;对,然后把它转变为我们需要的类型。

如有错误之处,希望大家多多指正

cocos2d-x游戏实例()-实时拖动主角移动 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-简易摇杆控制主角 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x游戏实例()-纵版射击游戏(1) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

本文链接地址:https://www.jiuchutong.com/biancheng/369004.html 转载请保留说明!

上一篇:cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)(cocos2d游戏源码)

下一篇:cocos2d-x游戏实例(12)-实时拖动主角移动(cocos2d rpg)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络