cocos2d-x初探学习笔记(17)--瓦片地图集
小滿(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()?);
//改變在地圖中的層次
int?newZ?=?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初探学习笔记(16)-
- 下一篇: cocos2d-x初探学习笔记(18)-