cocos2d-x學習之旅(十一):制作TXM游戲地圖,並加載到游戲場景中


准備

Tiled Map Editor:http://www.mapeditor.org/

通用的瓦片地圖編輯器,基於xml格式,支持正交視圖和等軸測圖

瓦片地圖由單個瓦片組成的2D游戲世界,使用少量尺寸相同的圖像就可以創建出很大的游戲世界,這樣可以為大地圖節省內存,在手機和平板這樣的設備上使用很占優勢。在早期的計算機游戲中,出現了很多使用瓦片地圖的經典游戲。

下圖中僅使用了三個瓦片就構建了一坦克大戰的游戲地圖。

clip_image001

瓦片地圖的編輯工作通常通過編輯器來完成,cocos2d-x支持Tiled的地圖編輯器。跟cocos2d-x一樣,是免費,開源的。Tiled能夠編輯直角瓦片和多層的斜角瓦片地圖,並且能夠添加觸發區域和對象,以及定義瓦片的屬性以及在代碼中確定瓦片的類型。

方形圖像的瓦片地圖可通過增加過渡瓦片來進行改進,例如,比起把一個水瓦片放在一個草地瓦片旁邊,可以過添加混合瓦片(瓦片的一邊是水,一邊是草地,中間是海岸線)來創建更好的過渡效果。瓦片的設計需要花費很多的心思的。

瓦片不一定是正方形的,也可以用長方形圖像來創建直角瓦片地圖,使用直角視角,但它允許設計者創建看起來比寬度要高的物體,這可以產生一種深度上的錯覺。斜角瓦片地圖更進一步,將視角旋轉了45度,通過一種看起來像3D的方式來創建瓦片,使用游戲世界獲得了視覺上的深度感。

下圖就是45度視角的地圖,在視覺上看起來更像是3D的。

clip_image002

斜角瓦片地圖證明了瓦片地圖不一定都是平面的,你甚至可以用正方形的瓦片地圖來獲得相似的效果,只要每個瓦片被設計成可以無縫疊加起來,正因為如此,tiled支持多層的瓦片以創建非常逼真的3D外觀。

手上沒有什么好的素材,所以在網上搜索了一張圖片,使用正常的地圖方向創建一張地圖。

clip_image003

將這層命名為Ground,方便以后在代碼中調用這層的瓦片對象,再添加一層,命名為Object,在這一層中,添加兩個木樁。

clip_image004

創建好地圖后,把*.tmx文件和圖片文件放在Resource目錄,在代碼中只需要一句話就可以加載到游戲中

CCTMXTiledMap *Map = CCTMXTiledMap::create("map2.tmx");

addChild(Map);

准備好我們的主人公,英雄出場。下圖是一個四方向人物行走圖。下一篇開始把英雄加載到游戲場景中,讓英雄在場景里面走動起來。

clip_image005

這是加載的英雄效果圖:

clip_image006

備注:

共同學習,若有不正確之處,歡迎指出。轉載請注明來處:www.cnblogs.com/dekins


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM