让猫飞一会

一个Scratch入门项目

由 小石头编程 发表于 2024年03月18日

在这篇教程中,我们将逐步指导您制作一个很酷的项目,您的角色可以在屏幕上飞行。使用Scratch编码进行构建比你想象的要容易得多! 这是我们要创建的项目:让你的猫飞起来!

第 1 步:选择背景和角色

当您创建空白的 Scratch 项目时,您可以通过单击右下角的两个圆圈从许多不同的背景和角色中进行选择。 带有图像图标的圆圈用于选择背景,带有猫图标的圆圈用于选择角色。如下图所示:

我们选择了“Blue Sky 2”作为我们的猫将飞过的背景,从角色菜单中选择了“Cat Flying ”。 发挥你的想象力,选择你感兴趣的任何组合!

第 2 步:创建欢迎消息并使用箭头键移动猫

当我们开始游戏时,我们希望猫显示一个欢迎消息。我们可以使用“当绿旗被点击”积木块来表示游戏的开始。这个积木块可以在控制部分找到。然后,我们可以使用外观部分的“说”积木块来使我们的积木显示“说‘我在飞’持续2秒”。消息和持续时间都可以根据我们的需求进行自定义。

我们还希望猫在相应的箭头键被点击时向左、向右、向上和向下移动。我们可以从事件部分获得“当按键被按下”积木块。我们需要一个这样的积木块,并将下拉选项更改为“左箭头”。在这里,我们希望使用动作部分的“将x坐标增加”积木块。我们需要将该积木块中的数字更改为-10,以显示向左移动。

我们需要另一个“当按键被按下”积木块,这次下拉选项应该是“右箭头”。我们可以直接使用动作部分的“将x坐标增加”积木块。

要处理垂直移动,我们需要一个下拉选项为“上箭头”的“当按键被按下”积木块。由于这是垂直移动,我们需要使用动作部分的“将y坐标增加”积木块,并将数字更改为10。

我们还需要处理向下的运动,可以使用下拉选项为“下箭头”的“当按键被按下”积木块。在这里,我们需要使用“将y坐标增加”积木块,并将数字更改为-10。

完整代码如下:

第 3 步:选择一个收集对象并使其移动

选择代表物体的另一个角色,我们可以回到右下方的圆圈,这次选择一个气球!

现在让我们点击气球,这样我们就可以为它编写代码。我们希望气球随机移动,这样猫追逐时会有乐趣!

对于气球,我们想使用“当绿旗被点击”模块,因为它在游戏开始时也需要自己的动作。现在我们可以转到控制类别并获取“重复执行”模块,因为我们希望我们的对象在游戏进行时不停地移动。无论我们在“重复执行”内放置什么模块,它们都将不停地运行,直到我们手动使用“停止”按钮结束程序。

我们首先想要的模块来自于运动类别,我们要选择“移到随机位置”。随机性可以使项目更加有趣。然后我们还需要另一个运动类别的模块,我们使用“将x坐标增加”这个积木块。在这种情况下,输入数字为250。所有带有数字位置的模块都可以通过键入任何数字来更改。

接下来,我们要转到控制类别并获取“重复”模块,并输入数字32。这个数字可以是任何你想要的数字。在我们的“重复”模块中,我们使用运动类别的模块“将x坐标增加”,并输入数字-15。

这段代码效果是气球会在游戏开始以后,从前方不断地向后飞,在后方消失后,又会在前方出现。

现在可以测试下这段程序, 在本教程的下一部分中,我们将向您展示如何将这个飞猫项目变成一个游戏,让猫每次接触气球就得分。

第 4 步:为你的猫添加一个分数

这次,我们要给猫添加代码了,点击底部角色面板上的猫,这样能确保您将代码区切换成猫的代码。

在积木区,选择橙色的变量模块,点击顶部的“建立一个变量”。在弹出的框中输入“分数”作为变量命名。完成此步骤后,您应该在场景左上角看到一个小的“分数”标签。

第 5 步:为猫打分

我们希望在每次重新启动程序时重置得分,并且每当猫触碰到气球时,我们希望将得分增加1。

在猫的代码中,我们需要另一个“当绿旗被点击”事件块。点击积木区域的变量菜单,获取以“将xx设为”的积木块,并将下拉菜单选项更改为“分数”,这样我们的块将变成“将分数设置为0”。

然后,我们需要一个来自控制部分的“重复执行”块。我们使用此积木块,因为我们始终希望检测猫是否触碰到气球,如果触碰到气球,则需要更新我们的得分。 在此块内部,我们需要首先添加一个来自控制部分的“如果/那么”块,以便我们可以检查猫和气球是否相触碰。

您可能已经注意到,在此块的“如果”后面有一个空白的六边形。在那里,我们希望我们的条件是“触碰气球”。我们可以在浅蓝色的感知部分中找到这个六边形形状的条件作为第一个块。一旦我们将下拉菜单选项更改为“气球”,我们就可以将此块拖放到“如果”之后的空格中。

现在,我们需要在我们添加的“如果/那么”块内放置一些内容。这是我们增加得分的地方!我们可以在“变量”积木区,使用以“将变量增加”开头的块。我们需要将下拉菜单选项更改为“分数”,并将该块放置在“如果”之下。由于代码执行非常快,因此在“如果/那么块中,我们需要的最后一件事来自于“控制”部分,将“等待1秒”块放在“如果/那么”的末尾。

现在我们就跑一下代码,体验一下这个游戏吧,希望您在制作该项目时玩得开心!