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

溫馨提示×

溫馨提示×

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

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

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

發布時間:2020-06-28 09:28:03 來源:網絡 閱讀:584 作者:杜甲同學 欄目:游戲開發

 本文實踐自 Ray Wenderlich 的文章《How To Make a Tile-Based Game with Cocos2D》,文中使用Cocos2D,我在這里使用Cocos2D-x 2.0.4進行學習和移植。這個游戲是關于一個忍者在沙漠中尋找西瓜的故事。
     在這部分內容,將會學習到如何用Tile創建一個地圖,如何加載地圖到游戲,如何讓地圖跟隨玩家滾動,以及如何使用對象層。下一部分內容,將介紹如何在地圖中創建可碰撞的區域,如何使用Tile屬性,如何創建可拾取的物品和動態修改地圖,以及如何確保忍者不會吃撐掉。

步驟如下:
1.新建Cocos2d-win32工程,工程名為"TileGame",去除"Box2D"選項,勾選"Simple Audio Engine in Cocos Denshion"選項;
2.下載本游戲所需的資源,將資源放置"Resources"目錄下;

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

3.使用Tiled工具制作地圖。首先,下載開源的Tiled Map Editor工具,當前版本為0.8.1,建議使用QT版本。在Tiled工具,點擊菜單欄→"文件"→"新文件",在彈出的對話框中,填入如下內容:

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

地圖方向分為:正常、45度。地圖大小填入的是tile單位。塊大小是資源每個tile的實際像素大小,在本篇中,使用32x32大小。點擊"確定"。
4.接著,把所需要的tile集合加入到工具中。菜單欄→"地圖"→"新圖塊",填入如下內容:

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

點擊"瀏覽",選擇"Resources"目錄下的tmw_desert_spacing.png文件,會自動填充"名稱"內容。塊的寬高都為32像素。邊距就是當前tile塊開始計算實際像素時,應該跳過多少像素,寬高一樣。間距就是兩個tile塊之間的像素距離,寬高一樣。看看tmw_desert_spacing.png文件,可以看到每個tile塊都1像素的黑色邊框,這就是為什么要設置邊距和間距為1像素。

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

點擊"確定"。
5.可以看到tile塊出現在"圖塊"窗口中。現在可以開始畫地圖。點擊菜單欄→"視圖"→"顯示網格",可以開啟網格參照線。點擊工具欄"圖章刷",然后在"圖塊"窗口點選一個tile塊,接著在地圖中,點擊放入你所想要的位置。

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

用工具欄"填充",把地圖背景填充成同一個tile塊,這里為沙漠背景。可以從"圖塊"窗口點選多個tile塊,可按Ctrl鍵多選,這樣可以一次性將多個tile塊放入地圖中。進行制作地圖,確保至少有一對建筑在地圖上,因為后面需要一些東西來做碰撞。一旦完成了地圖的制作,雙擊"圖層"窗口中的當前層"塊層 1",重命名為"Background"。然后點擊工具欄"保存",命名為"TileMap.tmx",保存在"Resources"目錄下。

如何制作一個基于Tile的游戲 Cocos2d-x 2.0.4

6.將Tile地圖加入到場景中。在HelloWorldScene.h文件中,添加如下代碼:


CC_SYNTHESIZE_RETAIN(cocos2d::CCTMXTiledMap*, _tilemap, Tilemap);

CC_SYNTHESIZE_RETAIN(cocos2d::CCTMXLayer*, _background, Background);


HelloWorldScene.cpp文件中,構造函數添加如下:


HelloWorld::HelloWorld()

{


       _tilemap = NULL;

       _background = NULL;

}


初始化init函數,修改如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
向AI問一下細節

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

AI

石河子市| 富锦市| 大方县| 长子县| 凤台县| 波密县| 新乡县| 东兴市| 天津市| 广饶县| 焦作市| 康马县| 乐陵市| 岑巩县| 定兴县| 彰化市| 永丰县| 武山县| 华容县| 兴和县| 南召县| 高雄市| 长汀县| 新丰县| 钟祥市| 汶川县| 卓资县| 乌兰察布市| 张家界市| 兴业县| 普宁市| 峨眉山市| 乐至县| 南川市| 雷州市| 泰和县| 崇礼县| 都兰县| 北碚区| 双鸭山市| 静宁县|