中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

手把手教你在cocos2d-x中使用TileMap地圖編輯器(三)

發布時間:2020-06-22 04:33:14 來源:網絡 閱讀:2395 作者:lovegame911 欄目:游戲開發

上一篇教大家了一些TileMap地圖塊設置的基本規則和注意事項

這一篇開始教大家些復雜的東西:

如何通過地圖塊的id做一些事件的判斷。

這里先解釋下圖塊的id是什么:

圖塊的id就是當你加載地圖圖片的時候通過設置圖片切塊的大小會把一張地圖圖片切成很多小塊,這些小塊會自動編成一個一維數組,從0開始,如下所示

手把手教你在cocos2d-x中使用TileMap地圖編輯器(三)

第一步:首先解決第一個問題:如何獲取圖塊id

因為圖塊首先是畫在圖層上的,所以我們先得找到對應的圖層

 

  1. map = CCTMXTiledMap::create("maps/Test2.tmx");  
  2. CCTMXLayer* walklay = map->layerNamed("layer0");  

ok,現在walklay就是我們要判斷地圖id的圖層了,通過layer0這個圖層名字獲得了。

跟編輯器里面的標簽要對應上

手把手教你在cocos2d-x中使用TileMap地圖編輯器(三) 

好了現在得到層了,就得找對應id了。

第二步:

也很簡單,如果我們想獲取圖層5行6列的地圖塊id是多少,

  1. CCPoint pp = ccp(6,5);//這里第一個參數是列數,第二個是行數,特別注意  
  2. unsigned int id = layer0->tileGIDAt(pp); 

ok,現在id 就是我們得到的圖塊的索引值了。

想獲得其他圖層的其他格子上的圖塊索引值同理。

得到這個值能干什么呢??

舉例:

1、做人物行走阻擋,比如我判斷如果地圖上所有索引為5的圖塊不能行走。

2、更換圖塊,比如我設置所有格子id為5的格子不顯示。

。。。。

等等,根據不同的游戲我們可以有很多種的用途。

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岫岩| 衢州市| 元氏县| 凤台县| 道真| 青海省| 将乐县| 柞水县| 广汉市| 乌兰浩特市| 桓台县| 柳州市| 久治县| 湘西| 桐柏县| 仲巴县| 淮南市| 齐河县| 交城县| 临沧市| 滦南县| 怀来县| 千阳县| 康马县| 扶沟县| 金坛市| 绥滨县| 张掖市| 乃东县| 伊春市| 伊金霍洛旗| 体育| 黄石市| 湖州市| 大方县| 进贤县| 敦化市| 汽车| 无棣县| 吴旗县| 承德市|