第一篇:51CTO學院-Cocos2d-x 3.x 項目實戰:仿微信飛機大戰(射擊類游戲)視頻教程
QQ/電話:400-851-9651
網址:edu.51CTO.com
Cocos2d-x 3.x 項目實戰:仿微信飛機大戰(射擊類游戲)視頻教程
課程目標
讓學員了解如何使用Cocos2d-x 3.x開發一款射擊類游戲
適用人群
已經掌握cocos2d-x 3.x技術,但缺乏項目實戰的程序員。
課程簡介
課程目標:
本課程將幫助廣大Cocos2d-x學員了解如何使用Cocos2d-x開發一款相對簡單的射擊類游戲。學員將會了解開發一款完整游戲的基本步驟,并學會如何將《從零開始掌握Cocos2d-x 3.x》中的知識轉化為實際的游戲。學員將從這款游戲中學習到如何建立游戲的基本框架、如設置背景音樂、顯示歡迎畫面、移動飛機、發射子彈、碰撞檢測等開發游戲必備的技術。
適合對象:
已經對Cocos2d-x 3.x的基本知識有所了解的開發人員。
學習條件:
1.要求對C++有所了解
2.熟悉Cocos2d-x 3.x的基本技術,如場景、圖層、精靈、動作等
課程 游戲效果演示(包括Cocos2d-x學習路線圖介紹)[免費觀看]
6分鐘
本講演示的飛機大戰的效果和功能,我們從本視頻課程會學習到哪些知識以及Cocos2d-x學習路線的介紹。游戲的基本架構 [免費觀看]
7分鐘
本講主要介紹了游戲中三對場景類和圖層類的作用,并演示了相關的效果。這些類包括StartScene、StartLayer、GameScene、GameLayer、GameoverScene和GameoverLayer。
QQ/電話:400-851-9651
網址:edu.51CTO.com 預裝載音效文件,并播放、暫停和恢復背景音樂 [免費觀看]
12分鐘
本講主要介紹了如何在StartScene中預裝載游戲中使用的音效文件(mp3文件),以及如何播放、暫停和恢復背景音樂。顯示歡迎界面和動畫 [免費觀看]
19分鐘
本講主要在開始圖層中顯示背景圖、歡迎圖像(飛機大戰)以及利用動畫技術顯示歡迎動畫。歡迎界面關閉后,進入游戲場景
19分鐘
本講主要實現了黨歡迎動畫結束后,進入游戲場景(GameScene)的過程。在本講中創建了游戲圖層和游戲場景,并修改了啟動歡迎動畫的代碼,以便可以在動畫播放完畢后通過loadingDone方法進入GameScene。移動背景
22分鐘
本講主要介紹了如何利用兩個完全一樣的背景圖做不簡單的背景移動,從而讓玩家產生錯覺,感覺是飛機在移動。在屏幕上顯示帶噴氣動畫的飛機
17分鐘
本講主要介紹了如何在屏幕上放一個帶噴氣動畫的飛機。本講的核心內容是編寫PlaneLayer類以及無限循環播放動畫。通過手指任意移動飛機
23分鐘
QQ/電話:400-851-9651
網址:edu.51CTO.com
本講主要介紹了如何利用觸摸事件任意移動飛機,以及如何阻止飛機移出邊界。讓子彈飛(1):建立BulletLayer類的框架
14分鐘
本講主要實現了封裝子彈功能的BulletLayer類的框架。讓子彈飛(2):初始化和移除子彈
6分鐘
本講主要實現了BulletLayer類的初始化部分以及移除子彈部分。讓子彈飛(3):開始和停止射擊
22分鐘
本講主要實現了子彈的發射和停止代碼(需要通過飛機精靈確定子彈發射的起始位置),并且將子彈圖層添加到當前的游戲場景中。編寫敵機的容器類:Enemy 13分鐘
Enemy類用于存儲和獲取與敵機的相關信息(如生命值、Rect等),也是敵機精靈的容器類。所以在添加敵機之前,先要實現該類。實現敵機層類EnemyLayer:初始化部分
16分鐘
本講介紹了EnemyLayer的作用,并實現了EnemyLayer中的初始化部分,以及為添加第一類敵機做準備。實現敵機層類EnemyLayer:讓第一類敵機動起來
16分鐘
QQ/電話:400-851-9651
網址:edu.51CTO.com
本講主要介紹了如何添加第一類敵機(最小、最多的敵機),并且如何讓第一類敵機以不同的速度在隨機的位置勻速向下運動。實現敵機層類EnemyLayer:讓第二類敵機動起來
13分鐘
本講主要介紹如何在游戲中添加第二類敵機(較大的敵機),該敵機數量較少,運行較慢。實現敵機層EnemyLayer:讓第三類敵機動起來
13分鐘
本講主要介紹了如何添加第三類敵機(最大的敵機,需要多發炮彈才能摧毀),并且讓第三類敵機從上到下勻速運動。檢測第一類敵機和子彈的碰撞
26分鐘
本講主要介紹了如何進行碰撞檢測,以及敵機爆炸效果和音效的實現。檢測第二類敵機和子彈的碰撞
6分鐘
本講主要介紹了如何檢測第二類敵機與子彈碰撞的效果,并實現了第二類敵機爆炸的動畫和音效。檢測第三類敵機和子彈的碰撞
5分鐘
本講主要介紹了如何檢測第三類敵機與子彈碰撞的效果,并實現了第三類敵機爆炸的動畫和音效。檢測第一類敵機與飛船的碰撞
13分鐘
本講主要介紹了如何實現第一類敵機與飛船的碰撞,并且實現了飛船的爆炸效果。
QQ/電話:400-851-9651
網址:edu.51CTO.com 檢測第二類和第三類敵機與飛船的碰撞
2分鐘
本講主要介紹了檢測第二類和第三類敵機與飛船的碰撞的方法。多路子彈發射【1】(兩排子彈)
12分鐘
本講主要介紹了讓飛船從單路轉換為多路發射子彈的降落傘的框架類的編寫。多路子彈發射【2】
14分鐘
本講將實現添加降落傘和下落的具體代碼。多路子彈發射【3】
9分鐘
本講主要介紹了MultiBulletsLayer架構的實現,該類負責顯示多路子彈。多路子彈發射【4】
18分鐘
本講主要實現了MultiBulletsLayer類的相關代碼。多路子彈發射【5】
8分鐘
本講會介紹如何檢測降落傘和飛船的碰撞,并在多路子彈和單路子彈之間進行切換。多路子彈與敵機的碰撞檢測
6分鐘
QQ/電話:400-851-9651
網址:edu.51CTO.com
本講介紹了如何進行多路子彈與敵機的碰撞檢測,并讓敵機產生爆炸效果。超級炸彈【1】
4分鐘
本講主要介紹了UFOLayer類中添加超級炸彈降落傘的框架部分的實現。超級炸彈【2】
8分鐘
本講介紹了如何實現超級炸彈降落傘。摧毀所有敵機
5分鐘
本講會實現一些方法,用于摧毀所有的敵機。這些方法將在觸摸超級炸彈時被調用。
引爆超級炸彈
25分鐘
本講會介紹如何在屏幕上顯示超級炸彈,如何進行超級炸彈降落傘與飛船碰撞檢測,以及如何引爆超級炸彈。
飛船被摧毀處理【1】
14分鐘
本講主要介紹當飛船(plane)被摧毀后,如何切換到游戲結束場景。
飛船被摧毀處理【2】
27分鐘
本講主要介紹當飛船(plane)被摧毀后,如何切換到游戲結束場景(具體實現部分)。
QQ/電話:400-851-9651
網址:edu.51CTO.com 在暫停游戲時阻止觸摸事件
9分鐘
本講主要介紹了如何在暫停游戲時阻止觸摸事件的傳遞。
實現暫停/恢復和當前分數顯示牌
20分鐘
本講會完成左上角暫停/恢復和當前分數顯示牌的實現代碼。其中需要和NoTouchLayer配合使用。
利用ControlLayer累加當前的分數
5分鐘
本講將介紹如何使用ControlLayer中的方法累加并更新當前獲得的分數。
將當前獲得的分數傳入PlaneLayer 3分鐘
本講主要介紹了如何修改PlaneLayer類的代碼,將score傳入PlaneLayer 38 在游戲啟動時裝載歷史最高分(游戲已經完成)
5分鐘
最后的收尾工作,裝載歷史最高分。