發(fā)布時間:2023-11-27 10:40:34 瀏覽量:166次
不關(guān)注我們?那你會錯過很多哦!
本期《一碳科技》為大家?guī)硪黄P(guān)于“C++小游戲”的教程,此次教程是承接上一篇文章的,上一篇文章講的是“坦克大戰(zhàn)”小游戲,但是只是給大家講了繪制坦克圖形的那一部分,所以今天這篇文章將帶大家繼續(xù)深入學(xué)習(xí)如何制作一個小游戲。
此次教學(xué)把上一次繪制坦克圖形的方法重新設(shè)計了一遍,具體實現(xiàn)方法可以先關(guān)注《一碳科技》,私信“繪制坦克圖形源碼”即可獲取源碼。
在制作C++小游戲的過程中,相信大家最多的疑問是關(guān)于“如何使坦克轉(zhuǎn)向”的吧?其實,實現(xiàn)這個功能并不難,只要基礎(chǔ)打得牢的小伙伴都可以實現(xiàn)。這里面主要設(shè)計兩個函數(shù),一個是kbhit(),一個是getche()。
kbhit()函數(shù)的功能是檢測當前鍵盤是否按下,如果鍵盤被按下了,它就會返回一個非零值,反之,則返回一個0值。getche()函數(shù)用于獲取立即獲取當前輸入控制臺的字符,這兩個函數(shù)是怎么配合的呢?kbhit()是一個非都塞函數(shù),這是什么意思呢?就是說這個函數(shù)不論你的鍵盤有沒有按下,他都不會處于等待狀態(tài),例如scanf()函數(shù),如果你沒有向控制臺輸入的話,它就會一直處于等待狀態(tài),知道你的“回車”按下,才會繼續(xù)執(zhí)行下一段代碼。
當if語句檢測到kbhit()函數(shù)返回一個非零值之后,就會調(diào)用getche()函數(shù)獲取當前輸入控制臺的字符,進而使用swicth()語句來判斷方向。
要繪制我們的坦克,就需要用到EasyX圖形庫,具體安裝方法可以上網(wǎng)查一查,有很多教程。
首先,我們先用畫圖工具畫一個坦克出來,具體怎么畫依個人愛好決定,下面是小編畫的一個坦克圖形(有點丑?。?。
玩家坦克就是我們操控的坦克,而我們還需要畫幾個“敵方坦克”,所以接下來我們在畫一個坦克,這個坦克要與玩家坦克區(qū)別開來,除此之外,我們還需要畫一個“炮彈”,小編畫了一個正方形充當“炮彈”。
加載坦克圖形并顯示,需要用到了兩個EasyX圖形庫的函數(shù),分別為loadimage()和putimage()函數(shù),loadimage()將我們的圖片加載到一個IMGE結(jié)構(gòu)體里面,而putimage()函數(shù)負責(zé)將IMAGE里面的圖片顯示到繪制區(qū)域中。
loadimage(),可以接收5各參數(shù),在這里小編只使用4個參數(shù)就可以了,最后一個參數(shù)可以默認,第一個參數(shù)是IMAGE,第二個是資源的地址,第三個是圖片的寬,第四個是圖片的高。
putimage(),接收三個參數(shù),第一個是圖片顯示的X坐標,第二個是圖片顯示的Y坐標,第三方個參數(shù)是IMAGE。
以下是坦克繪制的游戲界面(僅僅是坦克)
我們要如何使坦克移動起來呢,小編這里使用了while()循環(huán),每一次循環(huán)就是我們游戲畫面的一幀,不斷地再循環(huán)里面判斷坦克移動方向,然后通過對坦克圖形繪制的X、Y坐標的改變,來使的坦克圖形呈現(xiàn)出不斷移動的效果。
以上是示意代碼
先關(guān)注《一碳科技》,然后私信關(guān)鍵字“繪制坦克圖形源碼”即可。
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點擊咨詢報名。
2. 手機游戲如何開發(fā)(如何制作傳奇手游,都需要準備些什么?)
?如何制作傳奇手游,都需要準備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白。快來試試!
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟體系揭秘,不同玩家角色的經(jīng)濟活動
Bigtime加密游戲經(jīng)濟模型分析,探討游戲經(jīng)濟特點,幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動漫建模全過程,不是一般人能學(xué)的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準備設(shè)計圖片,我從雕刻進入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
7. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當提到3D動畫軟件或動畫工具時,指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
9. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅固
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計技巧,讓你輕松掌握!
10. Unity3D入門:手把手帶你開發(fā)一款坦克大戰(zhàn)的游戲
Unity工程創(chuàng)建完成后如圖所示: 接下來應(yīng)該導(dǎo)入此項目所需的Unity Package文件,要用到的Unity package文件大家可以去Unity3D的官方網(wǎng)站下載(地址:ht...
最新文章
同學(xué)您好!