游戏引擎

可用

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


评论
  • 受欢迎
你必须先登录才能发表评论
此页面还没有任何评论