为游戏添加检查点
===========================
本教程的这一部分解释了如何向游戏添加检查点。然后,当玩家死亡时,他们将被发送到最近的检查点。
系列
您正在阅读平台游戏教程的第8部分。
- 第1部分:入门
- 第2部分:创建可玩角色
- 第3部分:创建平台
- 第4部分:为可玩角色添加动画
- 第5部分:向游戏添加可收集的硬币
- 第6部分:向游戏添加敌人
- 第7部分:使敌人可以杀死玩家(以及玩家可以杀死敌人)
- 第8部分:为游戏添加检查点
步骤1:为检查点创建对象
第一步是创建一个“检查点”对象。在教程的这一部分,这应该是一个熟悉的过程。但是,如果您需要恢复记忆,请参考对象。
要创建一个检查点对象:
- 创建一个名为“检查点”的精灵对象。
- 使用“bush.png”资源作为检查点的图像。
- 将一个或多个对象实例拖放到场景中。
步骤2:保存玩家到达检查点时的坐标
当玩家到达检查点时,您可以使用变量来保存该检查点的坐标。然后,当玩家死亡时,您可以将他们发送回这些坐标。
您可以使用以下语法访问对象的X和Y坐标:
ObjectName.X() ObjectName.Y()
这两个语句都是表达式的示例。
要保存玩家对象到达检查点时的坐标:
- 创建一个新事件。
- 创建一个碰撞条件,检查“Player”对象是否与“检查点”对象发生了碰撞。
- 创建一个设置场景变量的值动作,创建一个值为
Checkpoint.X()
的“CheckpointX”变量。 - 创建一个设置场景变量的值动作,创建一个值为
Checkpoint.Y()
的“CheckpointY”变量。
步骤3:将玩家发送到上一个检查点
当“Player”对象与“Slime”对象发生碰撞时,删除对象动作会将“Player”对象从场景中删除。但是现在游戏有了检查点,删除“Player”对象就没有意义了。
要将“Player”对象发送回上一个检查点:
- 删除删除对象动作。
- 为“Player”对象创建一个设置对象位置动作。
- 对于每个修改标志字段,请选择eferer(设置为)。
- 将X位置坐标设置为
变量(CheckpointX)
。 - 将Y位置坐标设置为
变量(CheckpointY)
。
步骤4:设置玩家的默认坐标
在玩家到达检查点之前,CheckpointX
和CheckpointY
变量不存在,因此如果玩家在到达检查点之前死亡,GDevelop会将玩家发送回“0,0”的默认坐标。
如果存在以下情况,这可能会导致问题:
- 默认坐标处存在其他某些内容(例如敌人)。
- 默认坐标下没有平台。
为了解决这个问题,请将CheckpointX
和CheckpointY
变量的值设置为“Player”对象的初始坐标。然后默认坐标由您在场景编辑器中放置“Player”对象的位置定义。
要设置默认坐标:
- 创建一个新事件。
- 将在场景开始时条件添加到事件中。
- 创建一个设置场景变量的值动作,创建一个值为
Player.X()
的“CheckpointX”变量。 - 创建一个设置场景变量的值动作,创建一个值为
Player.Y()
的“CheckpointY”变量。
接下来的步骤
您已经完成了本教程。恭喜!
从这里开始,您可以深入研究另一个教程,例如几何怪物教程,或者继续玩玩您的平台游戏。根据您学到的知识,您可以让游戏变得多么独特呢?