1. 程式人生 > >cocos2d x遊戲開發系列教程 坦克大戰遊戲之坦克和地圖碰撞的檢測上

cocos2d x遊戲開發系列教程 坦克大戰遊戲之坦克和地圖碰撞的檢測上

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

在上篇我們可以控制坦克在地圖上任意行走了,

但是實際遊戲中遇到牆就應該是無法走動的,這節課我們繼續完善程式,

讓他能在地圖檢測到牆壁,而無法通過。

1.我們新建一個TileMapInfo類,來獲取地圖資訊。

class TileMapInfo{publicbool collisionTest(CCRect rect)static TileMapInfo* createMapInfoWithFile(const char* tmxFile)void initMapInfoWithFile(const char* tmxFile); CC_SYNTHESIZE(CCTMXTiledMap*, mTMXTileMap, TileMap);private: CCTMXLayer* mTMXLayers[2];};

可以看到定義中有一個collisionTest碰撞檢測函式,

它根據傳進來的rect檢測是否與地圖上的磚塊發生了碰撞,

既然要檢測碰撞,我們就需要知道地圖中磚塊的型別。


2.我們還記得Tiled程式吧,他可以製作tmx格式的地圖,看下他的截圖