2014-12-03 205 views
-1

我幾乎是C編程的新手,我想開發一個簡單的遊戲,玩家必須將角色移動到屏幕底部的一條線上,而敵人隨機產生在頂部線上並且每一個現存的敵人都會滑落一行。我有兩個主要問題:我怎樣才能使某個功能在某段時間後執行某些操作(滑下一行的敵人)以及如何讓角色隨着播放器按下通訊鍵而移動WHILE另一個功能正在工作在週期?簡單遊戲的問題

+0

'線程'是要走的路! – Rizier123 2014-12-03 14:50:01

回答

1

遊戲開發的一個基本概念是移動和繪製的分離。每個敵人都應該有一個「移動」功能,並且每個敵人都應該有一個「移動」功能。

「移動」功能應該將敵人移動一步......通過這個我的意思是,如果函數需要敵人向下移動,則函數只會將1加1;如果要移動它,則爲-1;等等......它不會一下子將敵人移動到屏幕上。

「繪製」功能將佔據敵人的位置,只需在該位置繪製敵人即可,僅此而已。

一旦你有了這兩個概念,你需要主遊戲循環。主遊戲循環將通過全部循環,並在每個敵人上調用「移動」功能。它處理幀率的計時,但爲了簡單起見,跳過這個步驟......之後它會循環穿過敵人並調用「繪製」功能。

一旦你有了這個設置,你需要在每個主遊戲循環中進行一次操作,就是處理你的按鍵並相應移動heroX,heroY。

玩這個概念,你會發現它非常強大。添加和移除敵人變得很容易,碰撞檢測變得更簡單等。祝你好運。