Skip to content

5. 添加和移动形状

在成功实现了怪物的移动之后,接下来,我们将添加一些形状,使其从上方落下,并沿着场景向下移动。

请注意

与在场景上放置固定数量的物品不同,我们将以一种方式生成它们,使得游戏变得实际上是无尽类型。

图片

在右侧面板点击"添加新对象",以打开一个弹出窗口。

选择"精灵(Sprite)",就像我们之前对怪物所做的那样。

给其命名为"形状1",然后点击"添加动画"按钮。

该对象的动画称为"NewObject1"-从磁盘加载一个三角形图像。渲染时间不重要,因为这是我们唯一拥有的帧,循环与否也是如此。点击"应用"以保存。

再次点击"添加新对象"。

对第二个形状进行相同操作:命名为"形状2",动画名称为"NewObject2",使用方形图像,然后"应用"。

对圆形也重复相同操作。

最后,第四个形状是一个五边形。

现在所有四种形状都显示在右侧"对象"列表中。我们将使用"对象组"编辑器对它们进行分组-点击右上角菜单中的第四个图标,上面有三个立方体。

这将展开当前视图,并在右侧显示一个额外的"对象组"面板-点击"组"以打开一个弹出窗口。

点击"选择要添加到组中的对象",然后选择所有四种形状。

注意

请记住不要将怪物添加到该组中,只添加形状。

继续添加形状,直到所有都列在该组中,然后点击"应用"。

然后点击"对象组"面板中"组"旁边的三个垂直点以打开上下文菜单,然后点击"重命名"。

将组重命名为"形状",然后确认。

添加一个新的注释来指示这一新部分将涉及形状。

然后点击"添加新事件",再"添加条件"以打开一个弹出窗口。

在"其他条件"选项卡中,找到"计时器与时间",然后点击它。

注意

没有"其他条件"选项卡?不要惊慌!转到GDevelop首选项(单击"文件"(或macOS上的"GDevelop 5")菜单,然后选择 "首选项"),激活"使用新的动作/条件编辑器"。然后您可以返回教程。点此查看截图

然后从下拉菜单中选择"场景计时器的值",并输入两个值。第一个值是1.3,表示秒数-每1.3秒我们将在场景中放下一个新形状。

第二个是"计时器名称"-将其设置为"ShapeCreation",输入完两个值后点击"确定"。

现在,条件已经设置好,让我们添加动作。 确保选择了"形状",然后在下一个面板中查找"角度" - 这将改变对象的旋转角度。在"修改符号"中选择 =(设置为) 和值 RandomInRange(0, 360)

现在,每当创建并放置一个新形状到游戏区域时,它将随机旋转一个介于 0360 度之间的值。这将为游戏中呈现形状的方式增添一些变化。

让我们进一步定制化 - 再次点击"添加动作"。

点击"形状",然后找到"缩放",选择 =(设置为) 并输入 RandomFloatInRange(0.8, 1.6)。这将通过引入随机缩放来进一步定制我们的形状 - 一些形状会比原始形状略小(原始形状的80%),一些形状会更大(160%)。

注意

旋转和缩放是使游戏更有趣的好方式,即使我们只有四种基本形状在游戏中。

现在进入"其他动作"查找"计时器和时间",并选择"启动(或重置)场景计时器"。

计时器的名称是"ShapeCreation",因此每当创建新形状时,计时器会被重置,我们会等待1.3秒然后再次创建新形状,如此反复无穷。

下一个在形状之上创建一个新事件,并使用条件"在场景开始时",然后复制/粘贴早期为"ShapeCreation"创建"启动(或重置)场景计时器"动作至这个新事件。这将在游戏开始时启动计时器,因此形状事件会在第一次触发时触发。

我们几乎完成了形状。创建一个名为"移动形状"的注释,然后点击"添加一个新的空事件",再点击"添加动作"。

添加一个动作:选择"形状",然后"添加一个力(角度)",将"角度"设置为 90,"速度(每秒像素数)"设置为 100

再添加一个动作:"形状",然后"旋转",将"角速度(每秒度数)"设置为 90

就是这样!我们的形状不仅会随机且无限地生成,并在开始时具有随机旋转和缩放,它们在下降时还会旋转。

启动游戏查看所有这些 - 形状应该会落在场景中。感觉好像有点缺少什么,对吧?它们穿过怪物,所以我们需要引入碰撞检测才能收集它们。

⬅️ 上一部分:4. 桌面和移动控制