cocos2d-x初探学习笔记(17)--瓦片地图集

cocos2d-x初探学习笔记(17)--瓦片地图集,第1张

概述小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man 地图是游戏中不可缺少的元素,cocos2d-x中支持两种瓦片地图集生成的方式,分别是通过.tga文件和.tmx文件(.tga文件已经不是推荐方法,只是为了兼容性的问题继续保留) 1.tga文件 使用方法相对简单,第一个参数是图素文件,第二个参数是

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

地图是游戏中不可缺少的元素,cocos2d-x中支持两种瓦片地图集生成的方式,分别是通过.tga文件和.tmx文件(.tga文件已经不是推荐方法,只是为了兼容性的问题继续保留)

1.tga文件


使用方法相对简单,第一个参数是图素文件,第二个参数是tga文件,也就像是地图的图纸一样,后两个参数分别为图素的宽高,tga文件应该是通过photoshop生成,这种方法在现在有tile编辑器的情况下应该已经不太推荐了,效果如下


1.mx文件

用法类似,只是有了地图图素编辑器以后,地图更方便编辑了,用法如下


这个只有一个参数就是tmx文件的路径

地图编辑器的下载地址如下,支持45度角方向和正常方向两个方向,拖动图素向地图编辑区就可以编辑相应地图了,非常方便。

http://www.mapeditor.org/
两种方式的效果如下

45度角


正常

可以把精灵类加入到地图中并且可以通过改变地图与对象的层次来处理精灵对象与地图的遮挡关系,用法如下:

//定义对象并加入到地图中

m_tamara=CCSprite::spriteWithfile(s_pPathSister1);

map->addChild(m_tamara,map->getChildren()->count());

//改变在地图中的层次

intnewZ=4-(p.y/48);

newZ=max(newZ,0);

map->reorderChild(m_tamara,newZ);

也可以把精灵放入地图中,然后获得再控制精灵

//获得精灵

CCTMXLayer*layer=map->layernamed("Trees");

m_tamara=layer->tileAt(ccp(29,29));

m_tamara->retain();

//通过z轴控制遮挡

m_tamara->setVertexZ(-((p.y+32)/16));

可以通过设置摄像机来设置地图的视角

map->getCamera()->getEyeXYZ(&x,&y,&z);

map->getCamera()->setEyeXYZ(x-200,y,z+300);

也可以通过设置动作实现缩放

map->runAction(CCScaleBy::actionWithDuration(2,0.5f));

刚开始研究此引擎,如有错误之处,希望大家多多指正

下一篇写一下test类里面的其他场景

总结

以上是内存溢出为你收集整理的cocos2d-x初探学习笔记(17)--瓦片地图集全部内容,希望文章能够帮你解决cocos2d-x初探学习笔记(17)--瓦片地图集所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1064663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存