在第一篇《如何制作一個基于Tile的游戲》基礎(chǔ)上,增加碰撞和拾取功能,原文《Collisions and Collectables: How To Make a Tile-Based Game with Cocos2D Part 2》,在這里繼續(xù)以Cocos2d-x進行實現(xiàn)。有關(guān)源碼、資源等在文章下面給出了地址。
步驟如下:
1.使用上一篇的工程;
2.打開Tiled Map Editor工具,菜單欄→"圖層"→"添加圖層",命名為"Meta"。這個層,我們將放入一些假的tile來代表"特殊tile"。菜單欄→"地圖"→"新圖塊",點擊"瀏覽",選擇"Resources"目錄下的meta_tiles.png文件,邊距和間距設(shè)置成1像素點,點擊"確定"??梢钥吹皆?quot;圖塊"窗口新增了一頁,里面有紅色和綠色兩種tile,如下圖所示:
3.確認(rèn)"Meta"層被選中,選擇工具欄上"圖章刷",選擇紅色tile,繪制可碰撞區(qū)域,完成之后,大概如下圖所示:
需要給這個tile設(shè)置屬性來標(biāo)識它,這樣才能知道該tile具有碰撞屬性。在"圖塊"窗口,右鍵紅色tile,選擇"圖塊屬性",新建一個屬性,名稱為"Collidable",其值為"true",如下圖所示:
點擊"確定"。保存地圖。
4.打開HelloWorldScene.h文件,添加如下聲明: