Skip to content

为游戏添加检查点

===========================

本教程的这一部分解释了如何向游戏添加检查点。然后,当玩家死亡时,他们将被发送到最近的检查点。

系列

您正在阅读平台游戏教程第8部分

  1. 第1部分:入门
  2. 第2部分:创建可玩角色
  3. 第3部分:创建平台
  4. 第4部分:为可玩角色添加动画
  5. 第5部分:向游戏添加可收集的硬币
  6. 第6部分:向游戏添加敌人
  7. 第7部分:使敌人可以杀死玩家(以及玩家可以杀死敌人)
  8. 第8部分:为游戏添加检查点

步骤1:为检查点创建对象

第一步是创建一个“检查点”对象。在教程的这一部分,这应该是一个熟悉的过程。但是,如果您需要恢复记忆,请参考对象

要创建一个检查点对象:

  1. 创建一个名为“检查点”的精灵对象。
  2. 使用“bush.png”资源作为检查点的图像。
  3. 将一个或多个对象实例拖放到场景中。

步骤2:保存玩家到达检查点时的坐标

当玩家到达检查点时,您可以使用变量来保存该检查点的坐标。然后,当玩家死亡时,您可以将他们发送回这些坐标。

您可以使用以下语法访问对象的X和Y坐标:

ObjectName.X() ObjectName.Y()

这两个语句都是表达式的示例。

要保存玩家对象到达检查点时的坐标:

  1. 创建一个新事件。
  2. 创建一个碰撞条件,检查“Player”对象是否与“检查点”对象发生了碰撞。
  3. 创建一个设置场景变量的值动作,创建一个值为Checkpoint.X()的“CheckpointX”变量。
  4. 创建一个设置场景变量的值动作,创建一个值为Checkpoint.Y()的“CheckpointY”变量。

步骤3:将玩家发送到上一个检查点

当“Player”对象与“Slime”对象发生碰撞时,删除对象动作会将“Player”对象从场景中删除。但是现在游戏有了检查点,删除“Player”对象就没有意义了。

要将“Player”对象发送回上一个检查点:

  1. 删除删除对象动作。
  2. 为“Player”对象创建一个设置对象位置动作。
  3. 对于每个修改标志字段,请选择eferer(设置为)
  4. X位置坐标设置为变量(CheckpointX)
  5. Y位置坐标设置为变量(CheckpointY)

步骤4:设置玩家的默认坐标

在玩家到达检查点之前,CheckpointXCheckpointY变量不存在,因此如果玩家在到达检查点之前死亡,GDevelop会将玩家发送回“0,0”的默认坐标。

如果存在以下情况,这可能会导致问题:

  • 默认坐标处存在其他某些内容(例如敌人)。
  • 默认坐标下没有平台。

为了解决这个问题,请将CheckpointXCheckpointY变量的值设置为“Player”对象的初始坐标。然后默认坐标由您在场景编辑器中放置“Player”对象的位置定义。

要设置默认坐标:

  1. 创建一个新事件。
  2. 在场景开始时条件添加到事件中。
  3. 创建一个设置场景变量的值动作,创建一个值为Player.X()的“CheckpointX”变量。
  4. 创建一个设置场景变量的值动作,创建一个值为Player.Y()的“CheckpointY”变量。

接下来的步骤

您已经完成了本教程。恭喜!

从这里开始,您可以深入研究另一个教程,例如几何怪物教程,或者继续玩玩您的平台游戏。根据您学到的知识,您可以让游戏变得多么独特呢?