上一篇教大家了一些TileMap地图块设置的基本规则和注意事项
成都创新互联专注于香河企业网站建设,成都响应式网站建设,商城系统网站开发。香河网站建设公司,为香河等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务这一篇开始教大家些复杂的东西:
如何通过地图块的id做一些事件的判断。
这里先解释下图块的id是什么:
图块的id就是当你加载地图图片的时候通过设置图片切块的大小会把一张地图图片切成很多小块,这些小块会自动编成一个一维数组,从0开始,如下所示
第一步:首先解决第一个问题:如何获取图块id
因为图块首先是画在图层上的,所以我们先得找到对应的图层
- map = CCTMXTiledMap::create("maps/Test2.tmx"
- "layer0"
ok,现在walklay就是我们要判断地图id的图层了,通过layer0这个图层名字获得了。
跟编辑器里面的标签要对应上
好了现在得到层了,就得找对应id了。
第二步:
也很简单,如果我们想获取图层5行6列的地图块id是多少,
- CCPoint pp = ccp(6,5);//这里第一个参数是列数,第二个是行数,特别注意
- int
ok,现在id 就是我们得到的图块的索引值了。
想获得其他图层的其他格子上的图块索引值同理。
得到这个值能干什么呢??
举例:
1、做人物行走阻挡,比如我判断如果地图上所有索引为5的图块不能行走。
2、更换图块,比如我设置所有格子id为5的格子不显示。
。。。。
等等,根据不同的游戏我们可以有很多种的用途。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。