1. 在遊戲引擎上編寫你的第一個遊戲
在實施任何電腦遊戲時,都分為三個階段:
- 初始化遊戲。這包括各種準備動作:設置比賽場地的大小並繪製它,在初始位置創建和設置遊戲對象,以及需要在遊戲開始時執行的任何其他動作。
- 玩遊戲。這可能包括移動遊戲對象、玩家動作、獲得的積分,以及必須定期執行或響應按鈕點擊和按鍵操作的任何其他動作。
- 結束遊戲。這可能包括停止動畫、贏/輸消息以及需要在遊戲結束時執行的任何其他操作。
我們現在將按順序完成所有三個階段,看看 CodeGym 遊戲引擎如何幫助簡化此過程。
2. 初始化遊戲
當您使用 CodeGym 遊戲引擎時,遊戲初始化僅包含兩個步驟:
第 1 步:創建遊戲的主類
要基於 CodeGym 遊戲引擎創建您自己的遊戲,您需要創建一個類並使其擴展 Game 類(com.codegym.engine.cell.Game)。這將使您的類能夠調用遊戲引擎上的方法,而引擎將能夠調用您類的方法。例子:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
...
}
第 2 步:覆蓋initialize()
方法
在該initialize()
方法中,您執行開始遊戲所需的所有操作:創建比賽場地、創建所有遊戲對像等。您只需在繼承 Game 類的類中聲明此方法即可。例子:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// Here we perform all the actions to initialize the game and its objects
}
}
該initialize()
方法類似於該main()
方法。它是所有遊戲代碼開始執行的入口點。
3. 創造競爭環境
創建競爭環境也是一個兩步過程:
第 1 步:將運動場劃分為單元格
遊戲引擎將整個比賽場地劃分為單元格。最小尺寸為 3×3,最大尺寸為 100×100。
運動場的大小一旦創建就保持不變。水平和垂直尺寸不必相同。例如,寬度為 7,高度為 9:
請注意,單元格編號從左上角開始。
要設置比賽場地的大小,請使用void setScreenSize(int width, int height)
方法。它設置了比賽場地的大小。width
它的參數是水平 ( ) 和垂直 ( ) 維度中的單元格數height
。它通常在遊戲開始時被調用一次。例子:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
@Override public void initialize()
{
// Set the field size to 7x9 cells
setScreenSize(7, 9);
...
}
}
在編寫遊戲時,您可能需要獲取當前遊戲區域的寬度和高度。對應的方法是int getScreenWidth()
和int getScreenHeight()
。
第 2 步:打開/關閉網格(可選)
如果您不喜歡用黑色網格分隔運動場的單元格,則可以將其關閉。
該void showGrid(boolean isShow)
方法啟用/禁用分隔單元格的網格。默認顯示網格。要關閉它,請調用此方法並false
作為參數傳入:
showGrid(false);
結果:
要重新打開網格,請像這樣調用方法:
showGrid(true);
結果:
4.原始程序
讓我們編寫一個使用 CodeGym 遊戲引擎的非常原始的遊戲。它會做三件事:
- 它將運動場分成 9 個單元格:3×3
- 它將禁用網格(單元格之間的線)
- 中央單元格將被塗成藍色,字母
X
將寫在其中。
最終代碼如下所示:
public class MySuperGame extends Game
{
@Override
public void initialize()
{
// Create a 3x3 playing field
setScreenSize(3, 3);
// Disable displaying the grid
showGrid(false);
// Change the background of the central cell to blue and display "X" in it
setCellValueEx(1, 1, Color.BLUE, "Х", Color.ORANGE, 50);
}
}
在此示例中,運動場設置為 3x3,網格被關閉,單元格高度一半的橙色字母X
被放置在具有藍色背景的中心單元格中。這將是玩家在遊戲開始時看到的第一件事。
GO TO FULL VERSION