當前位置:
首頁 > 知識 > C++遊戲開發入門項目精選:製作經典遊戲拳皇97

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截圖系統、編寫雷霆戰機等經典遊戲的

免費知識分享課。

 


點擊

閱讀原文

,也可以參與哦

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux學習 的精彩文章:

Linux之父又要發飆了!賽門鐵克疑似違反了Linux的GPL許可
Nginx 使用札記

TAG:Linux學習 |