遊戲引擎

開放

1. 在遊戲引擎上編寫你的第一個遊戲

在實施任何電腦遊戲時,都分為三個階段:

  1. 初始化遊戲。這包括各種準備動作:設置比賽場地的大小並繪製它,在初始位置創建和設置遊戲對象,以及需要在遊戲開始時執行的任何其他動作。
  2. 玩遊戲。這可能包括移動遊戲對象、玩家動作、獲得的積分,以及必須定期執行或響應按鈕點擊和按鍵操作的任何其他動作。
  3. 結束遊戲。這可能包括停止動畫、贏/輸消息以及需要在遊戲結束時執行的任何其他操作。

我們現在將按順序完成所有三個階段,看看 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 遊戲引擎的非常原始的遊戲。它會做三件事:

  1. 它將運動場分成 9 個單元格:3×3
  2. 它將禁用網格(單元格之間的線)
  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被放置在具有藍色背景的中心單元格中。這將是玩家在遊戲開始時看到的第一件事。


留言
  • 受歡迎
你必須登入才能留言
此頁面尚無留言