對於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等六項電競正式入選亞運會,更是掃清了我們對遊戲的認知,在眼下全民娛樂的時代,遊戲早已成為我們生活的一部分,遊戲開發也是當下和未來絕對熱門的行業。
怎麼樣?是不是也想嘗試著自己做一款小遊戲了呢?
那麼最後送大家一個福利
長按二維碼識別
或新增Q群:335938634
不定期有Socket程式設計和Hook(鉤子)程式設計等網路駭客技術、騰訊內部核心技術比如QQ截圖系統、編寫雷霆戰機等經典遊戲的免費知識分享課。
點選閱讀原文,也可以參與哦