日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/4/11 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)--瓦片地图集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。