重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

[cocos2d-x]地图的应用-创新互联

前言:

cocos2d-x地图的应用最典型的例子就是塔防类游戏,下面我们就来简单学习一下地图的应用吧!

创新互联公司是一家专业提供万荣企业网站建设,专注与网站建设、做网站、H5建站、小程序制作等业务。10年已为万荣众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

工具应用介绍:

我们应用的地图编辑软件是Tiled,一款免费的软件,首先是文件->新文件,然后地图->新图块导入图片资源,然后就可以在地图上绘制。

Tiled有四种方式可以编辑瓷砖地图,菜单位于软件界面的右上角。 
Stamp Brush(快捷键 B),可以把当前从瓷砖集中选择的瓷砖画在地图上; 
Bucket Fill(快捷键 F),可以填充空白区域或者由相同瓷砖连接起来的区 域; 
Eraser(快捷键 E),用于擦掉瓷砖; 
Rectangular Select(快捷键 R), 你可以选择一个区域,然后用Ctrl+c或者菜单项Edit > Copy来复制选中的区域, 接着Ctrl+v或者菜单项Edit > Paste粘贴到当前鼠标在地图上所处的位置 – 在实际使用中你会看到,其实在粘贴时,软件是自动却换到了Stamp Brush模式 进行粘贴的。还有个小技巧,如果想清除当前的瓷砖选择,只要鼠标右键点击一下就可以了。 

友情提醒:

一个图层上面不得使用两个图片上的资源,不然后面调用的代码编译会报错;

其次就是将图片资源和生成的tmx文件要保持在同级路径下,不然后面代码也会报错,当然也可以修改tmx下的图片资源路径来解决问题。

简单应用:

1.点击屏幕获取坐标点

bool HelloWorld::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent) {     CCPoint point = this->tilePosFromLocation(pTouch->getLocation(), (CCTMXTiledMap *)this->getChildByTag(1));     CCLog("%f,%f",point.x,point.y);     return true; }  CCPoint HelloWorld:: tilePosFromLocation(CCPoint location,CCTMXTiledMap *tileMap) {     //pos是地图上的坐标,当前屏幕的坐标+地图的偏移量     CCPoint pos = ccpSub(location, tileMap->getPosition());     pos.x = (int)(pos.x / tileMap->getTileSize().width);     //(地图总块数*每块的像素 - 现在的y坐标)/ 每块的像素     //getMapSize().height是地图高度的瓷砖数     pos.y = (int)(((tileMap->getMapSize().height * tileMap->getTileSize().height - pos.y)) / tileMap->getTileSize().height);     CCLog("%f,%f",pos.x,pos.y);     return pos; }

2.鼠标点击地图,会显示对应的瓷砖块的属性

//获取瓷砖的属性     CCPoint playerindex = ccp(a,b);     //根据坐标点获取GID     int tiledid = layer->tileGIDAt(playerindex);     if (tiledid > 0) {   //根据GID获取指定瓷砖块的属性         CCDictionary *tiledic = (CCDictionary *)tileMap->propertiesForGID(tiledid);         //判断瓷砖块是否有属性,如果有就用它的属性,如果没有         if (tiledic) {             CCString * value = (CCString *)tiledic->objectForKey("isTree");             int va = value->intValue();             if (va == 1) {                 CCLog("这是一棵树");             }         }         else         {             CCLog("该瓷砖快没有属性");         }     }

[cocos2d-x]地图的应用

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:[cocos2d-x]地图的应用-创新互联
转载源于:http://cqcxhl.com/article/doggci.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP