歡迎光臨
每天分享高質量文章

C++遊戲開發入門專案精選:製作經典遊戲拳皇97

對於80、90後來說,拳皇97一定不會陌生,這款經典的橫版格鬥遊戲,是一代人的回憶,許多人接觸它都是在街機上,而今天,小編要教大家製作PC版的拳皇97!看黑板,表演即將開始——

遊戲執行效果呈現

好吧遊戲介面和人物模型有點醜,不過這不是重點,重點是學習遊戲開發的思路。


一、利用GDI繪製圖形

GDI是windows與生俱來的圖形裝置介面(GraphicsDeviceInterface)的英文縮寫,主要任務是負責系統與繪圖程式之間的資訊交換,處理所有Windows程式的圖形和影象輸出。


準備一張BMP格式的背景圖片,建立一個窗體,在窗體上進行繪製,然後透過GetDC函式來獲取窗體的裝置環境DC

獲取裝置環境後,還需要在記憶體中建立一個裝置環境,我們在記憶體中畫圖,畫好以後,直接複製到窗體的裝置環境上


二、關於動畫的實現

拳皇吸引玩家的一定是那酣暢淋漓的打鬥動作,我們知道用遊戲引擎的骨骼動畫是最常見的,不過跟3D的渲染不同,2D遊戲是貼圖的藝術。



例如上面的兩個動畫,透過一個陣列把它們儲存起來,然後依次播放。



♦執行效果


貼圖基本有兩種方式,一種採用定時器,一種則是利用訊息迴圈,目前都是採用的第二種繪製方式(訊息迴圈),也就是說遊戲中的動畫都是一幀一幀的帖上去的,就像放電影一樣。



♦添加了技能執行效果圖:


其實像拳皇97、地下城與勇士這類2D遊戲是比較適合新手小白開發的,相比於3D遊戲的骨骼動畫,2D橫版遊戲的序列幀更簡便。


在開發過程中,我們會用到C/C++語言、Win32視窗建立、訊息機制、GDI三緩衝繪圖原理等知識點。


●學習過程中你能學會:

1.使用API函式建立好Win32視窗。

2.將準備好的遊戲素材載入到程式中。

3.使用GDI圖形裝置介面函式繪製地圖與角色。

4.利用C/C++語法結合資料結構與演演算法演演算法處理遊戲資料。

5.編寫遊戲邏輯。


●學習成效:

1.跳出控制檯,在介面程式設計中去鍛煉自己的邏輯思維能力。

2.瞭解windows程式設計的基本框架。

3.可嘗試去開發各種介面化的程式,例如雷霆戰機,俄羅斯方塊,坦克大戰等等。


一句RNG牛逼,不知刷爆了多少人的朋友圈,而LOL等六項電競正式入選亞運會,更是掃清了我們對遊戲的認知,在眼下全民娛樂的時代,遊戲早已成為我們生活的一部分,遊戲開發也是當下和未來絕對熱門的行業。


怎麼樣?是不是也想嘗試著自己做一款小遊戲了呢?


那麼最後送大家一個福利


免費C/C++技術交流群

進群領取拳皇97及更多專案學習資料

長按二維碼識別

或新增Q群:335938634

不定期有Socket程式設計和Hook(鉤子)程式設計等網路駭客技術、騰訊內部核心技術比如QQ截圖系統、編寫雷霆戰機等經典遊戲的免費知識分享課。

 

點選閱讀原文,也可以參與哦

贊(0)

分享創造快樂