1. 程式人生 > >橫版過關遊戲開發-遊戲流程

橫版過關遊戲開發-遊戲流程

看到大家這麼支援,十分開心。繼續開講!這次講遊戲流程。大學時,很多人都做過俄羅斯方塊,我當時做出來,也很開心。關鍵看一下流程:遊戲開始,遊戲勝負(有的會加一個暫停功能)。這是最簡單的。

過關遊戲,可以劃分成不同的執行階段,比如:開始選單,遊戲執行中,遊戲勝負。像超級瑪麗,要在進入遊戲時,有一個停頓(顯示生命,地圖),當玩家勝利或失敗後,需要畫面停頓一段時間(也可以彈出個提示)。程式中,根據不同的狀態,處理不同的訊息和資料。有這樣一個框架,程式就會比較清晰。整個過程如下:

顯示部分,一般是WM_PAINT訊息:

遊戲初始狀態:顯示選單,操作提示資訊。

遊戲等待狀態:顯示生命,地圖資訊。

遊戲執行中:顯示背景,地圖,敵人,玩家角色,子彈,動畫效果。

遊戲勝負:顯示提示資訊。

遊戲通關:顯示通關提示資訊。

按鍵處理部分(KEYDOWN,KEYUP):根據鍵值,再根據當前狀態,作出不同處理。程式結構和以上相對應。這樣有個好處,PAINT時,只負責繪圖。KEYDOWN處理,只負責處理邏輯,然後傳送PAINT訊息。

還有大量的實時判斷,放在哪裡呢?如:子彈擊中敵人,人物掉到河裡,時間用完。這些處理放在WM_TIMER定時器訊息裡面(也要按照不同狀態來處理)。這樣就構成了三個部分:

顯示部分:繪圖。

按鍵處理部分:處理邏輯。

定時器:各種實時判斷。

至此,超級瑪麗,所有影象處理、邏輯處理的程式框架已經完成。然後就是不斷增加具體功能,以後再慢慢講吧。