5 个 Scratch 代码块教孩子们如何编程视频游戏

通过循环、条件语句、碰撞检测等提升您的 Scratch 技能,本文是关于教孩子们编程系列文章中的一篇。
68 位读者喜欢这篇文章。
Binary code on a computer screen

公共领域,来自 LibreShot

在本系列的第二篇文章中,您在 Scratch 中创建了您的第一批视频游戏脚本。本文探讨了扩展编程可能性以创建更高级代码的方法。

有多种方法向孩子们介绍这些技能,例如

  1. 引入需要孩子们使用该技能的任务或挑战。使用探究来帮助他们找到解决方案,然后用正式的解释来加强他们的发现。
  2. 鼓励自由实验,让孩子们提出自己的项目。当他们编写代码时,根据需要讲解技能。
  3. 介绍技能,然后让孩子们进行实验。

无论您选择哪种方法,始终记住,学习编程最重要的是犯错。即使是熟练的程序员也不会每次都做对,或者知道每一行可能的代码。当教育者、学生和同伴们作为一个团队一起学习编码时,效果最佳。

Scratch 中有 10 个类别 的代码块;这里是如何使用一些最常见的代码块。

循环

这就是永无止境的代码;是的,它会一直持续下去,我的朋友! Scratch 中的 无限循环重复块 是您自动重复代码行所需要的。放置在循环块内的任何代码块都会继续运行,直到游戏停止,或者如果您使用的是重复块,则达到指定的次数。

条件语句

条件语句 仅在满足特定条件时运行。“如果你觉得冷,就穿上毛衣”是条件语句的一个现实世界的例子:只有当你确定冷的时候才会穿上毛衣。

Scratch 中有四个条件语句代码块

  • 如果 ... 那么
  • 如果 ... 那么 ... 否则
  • 等待直到...
  • 重复直到...

放置在条件语句内的任何代码块仅在满足条件时运行。

注意每个条件语句代码块中的菱形形状;你能找到任何可以放在里面的代码块吗?

菱形代码块可用于完成四个条件语句块中的任何一个。您可以在 “侦测”“运算” 块类别中找到菱形块。

碰撞检测循环

有时您可能想检查您的角色是否接触到另一个角色或特定颜色。为此,请使用 碰撞检测循环

碰撞检测循环结合了循环和条件语句,以不断检查角色是否接触到另一个角色(例如,一个硬币角色)。

在内部的 if ... then 块中,放置您希望在满足条件时发生的动作。

这种类型的算法是 碰撞检测脚本。碰撞检测脚本感知两个角色或对象何时接触。一个基本的碰撞检测脚本使用四个主要代码块

  • 事件帽子
  • 无限循环
  • 如果 ... 那么
  • 碰到

您可以在“如果 ... 那么”块中放置更多代码块。这些块仅在活动角色接触到“碰到”块中列出的角色时才会运行。

您能想出如何使一个对象在与另一个角色碰撞时“隐藏”吗?这是一种常见的技术,用于指示例如角色吃了食物或捡起了物品。

变量和数学

变量 是值的占位符,通常是一个您还不知道的数字。在数学中,使用变量可能看起来像这样:x+12=15

如果这让您感到困惑,那没关系。在我成年后开始编码之前,我也不理解变量。

这是一个如何在代码中使用变量的示例

坐标

Scratch 使用坐标图来测量屏幕。屏幕的正中间的值为 0,0。屏幕的长度(X 轴)为 -240 到 240,高度(Y 轴)为 -180 到 180。

X 和 Y 坐标 控制每个角色在屏幕上的位置,您可以使用 运动块 对角色的 X 和 Y 坐标进行编码以设置特定位置。

整合起来

想想任何游戏的基础知识;通常需要哪些元素?

这里有一些例子

  • 一个目标
  • 一种获胜方式
  • 一种失败方式
  • 一个障碍
  • 一个评分系统

有了以上技术,您就拥有了创建具有这些元素及更多元素的可玩游戏所需的一切。

Scratch 中还有很多我没有提及的代码块。继续探索可能性。如果您不知道代码块的作用,请将其放入脚本中以查看会发生什么!

想出一个游戏创意可能很困难。开源社区(包括 Scratch 社区)的伟大之处在于我们喜欢在彼此的工作基础上进行构建。考虑到这一点,在下一篇文章中,我将看看我最喜欢的一些用户制作的项目以获取灵感。

接下来阅读什么
User profile image.
Jess Weichler 是一位数字艺术家,使用开源软件和硬件在 CyanideCupcake.com 上创作数字和物理世界的作品。

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.