初學者教學——從零開始學做射擊遊戲(二)

各位親們好,廢話不多說,讓我們開始第二課吧!

哦對了,還是要廢話幾句!

自己推敲了幾次以後還是不滿意,於是又把寫好的重新做了一遍,看來還是我學的不夠紮實233333。

最後就是,因為是面向的對象里還有完全不會代碼的同學們,所以我會寫一些比較小白的話,順便一開始不會嚴格按照代碼規範寫一些示範,請大家牢記。

最後就是,因為是面向的對象里還有完全不會代碼的同學們,所以我會寫一些比較小白的話,順便一開始不會嚴格按照代碼規範寫一些示範,請大家牢記。

最後就是,因為是面向的對象里還有完全不會代碼的同學們,所以我會寫一些比較小白的話,順便一開始不會嚴格按照代碼規範寫一些示範,請大家牢記。

謝謝!

------------------------------正文-----------------------------------

同學們好,上回我們講到了西門慶熱結十弟兄,武二郎冷遇親哥嫂……

不對……走錯片場了……

上回我們講到了部署環境,這次我們來愉快的敲幾行代碼吧!

(剛上車且不會代碼的同學請參見前一篇初學者教學——從零開始學做射擊遊戲(一))

//對了,有的同學說微軟的VS給的30天的試用,不過我沒有出現這個,是不是和我有微軟的賬號有關呢?

下面進入正題

繼續上回的界面,注意一下紅箭頭,我們要在確認這兩個以後敲代碼。

上圖就是我們這次要敲進去的,大家先敲完,然後聽我解釋。

(1)首先要確認是在game.cpp下進行敲代碼的工作。

(2)注意代碼中的大小寫,因為大小寫在計算機語言中所代表的二進位數字完全不同,所以輸錯大小寫是一個比較嚴重的問題。

(3)有些語句結尾要記得加「;」這個符號,它代表著這個語句結束(最起碼目前是這樣)。

(4)如果語句結束的時候沒有加「;」的話,VS會自動監測有沒有錯誤,這時畫面中出現了(5)中的紅色波浪線,大家記得自己敲的時候把(4)中的「;」敲上

另外需要注意的是

這些空白的地方不是空格鍵,而是TAB鍵,請知悉。

下面講解一下(a.因為是自己理解翻譯的,如果和國內的教學有出入,請大神幫忙指正。b.如果有實在不懂的,直接複製代碼百度即可。c.我沒加註釋的原因是因為我下一課才要專門講規範。)

每個程序都要有一個骨架,包括我們要做的東西畫面是多大,或者有沒有現成的函數庫可以調用,再或是這段程序的結束條件。所以剛才的代碼的作用就是先做一個這樣的骨架。

#include"DxLib.h" 是包含頭文件DxLib.h,我們可以理解為我們在對DxLib.h說「苟……下面拜託了」

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpCmdLine, int nCmdShow)而這個是要確定框架的關鍵。

WINAPI的這句是創作一個可視化視窗,大家可以理解為,你要開車,需要它作為底盤,承載你車上的一切。

SetWindowText("Shooting Game");冒號里的字是在程序運行的時候出現在程序左上角的字。

tSetGraphMode(640, 480, 16);這裡640和480分別是寬和高。

下面一些略過,直接說while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)

這個是在程序運行是按下ESC退出,具體原因以後的課會講到,現在只求記住就好,如果一次塞太多的東西,怕消磨掉大家的熱情。

當我們敲好全部代碼以後,可以試著運行一下。

點紅箭頭的地方,然後點擊是即可。

出現紅箭頭的黑框,就說明我們剛才的程序成功了。

下面按一下ESC看看是不是退出了~

接下來請大家下載一下本課需要的素材:

------》----第二課素材 度盤傳送門----《----

密碼為noe0

然後我們需要將素材里的player.png放在這個路徑下(如果你上次按照我的部署步驟做了的話)。

然後敲下以下代碼

VS中,在上一次執行過程序以後,新敲的代碼都會有標記(左側小紅框的黃色)。

PS我在紅框中的三段代碼有一個出錯了,你知道是哪句嗎?不知道的話把上面的課再複習一下。

int playerImage;是你要定義出一個叫playerImage的東西

playerImage = LoadGraph("player.png");是要讀取player.png這個圖片

DrawGraph(0, 0, playerImage, true);是要在X軸的0號坐標,Y的0號坐標顯示程序中被我們叫做playerImage但實際上是player.png的圖片。

0,0可以在替換成X(0~640)Y(0~480)任意的數字,從而達到在畫面不同位置顯示的目的。

運行一下試試吧。

顯示成功!

PS我改了之前的的代碼,有沒有從畫面上發現的同學?

好了,大家一定發現素材中有好多圖片,那麼我們就留作業了。

大家盡量多的把那些圖片擺在自己的畫面里吧,可以適當的擺拍,然後裝作自己做了一個了不得的遊戲的樣子。

比如這樣。

-------------------------下期預告------------------------

中州老司機的文章已經快200贊了,不出意外應該就是《霓虹性都》的中篇,也就是小廣告篇了。

然後就是遊戲美術與遊戲設計這兩課還一課沒有講……

我好像欠了好多東西……23333333

對了,你們要的採訪霓虹小姐姐的事情我已經在做了,不過究竟要問些什麼比較好呢~

有想問的同學記得點贊留言啊!

好了,今天就到這裡。

大家晚安。

我們明天賤!

不對,我們下次見!

通靈術!

晚安!

推薦閱讀:

網易手游《大話西遊》客戶端的建築遮擋人物半透技術是怎麼實現的?
關於下半年的預防針
Skeletal Animation 理論與實踐
從零開始手敲次世代遊戲引擎(一)
「千萬別學我!」之遊戲開發者的囧事(上)

TAG:日式游戏 | 游戏设计 | 游戏开发 |