在本系列的第二篇文章中,您在 Scratch 中创建了您的第一批视频游戏脚本。本文探讨了扩展编程可能性以创建更高级代码的方法。
有多种方法向孩子们介绍这些技能,例如
- 引入需要孩子们使用该技能的任务或挑战。使用探究来帮助他们找到解决方案,然后用正式的解释来加强他们的发现。
- 鼓励自由实验,让孩子们提出自己的项目。当他们编写代码时,根据需要讲解技能。
- 介绍技能,然后让孩子们进行实验。
无论您选择哪种方法,始终记住,学习编程最重要的是犯错。即使是熟练的程序员也不会每次都做对,或者知道每一行可能的代码。当教育者、学生和同伴们作为一个团队一起学习编码时,效果最佳。
Scratch 中有 10 个类别 的代码块;这里是如何使用一些最常见的代码块。
循环
这就是永无止境的代码;是的,它会一直持续下去,我的朋友! Scratch 中的 无限循环 和 重复块 是您自动重复代码行所需要的。放置在循环块内的任何代码块都会继续运行,直到游戏停止,或者如果您使用的是重复块,则达到指定的次数。

(Jess Weichler, CC BY-SA 4.0)
条件语句
条件语句 仅在满足特定条件时运行。“如果你觉得冷,就穿上毛衣”是条件语句的一个现实世界的例子:只有当你确定冷的时候才会穿上毛衣。
Scratch 中有四个条件语句代码块
- 如果 ... 那么
- 如果 ... 那么 ... 否则
- 等待直到...
- 重复直到...
放置在条件语句内的任何代码块仅在满足条件时运行。

(Jess Weichler, CC BY-SA 4.0)
注意每个条件语句代码块中的菱形形状;你能找到任何可以放在里面的代码块吗?
菱形代码块可用于完成四个条件语句块中的任何一个。您可以在 “侦测” 和 “运算” 块类别中找到菱形块。

(Jess Weichler, CC BY-SA 4.0)
碰撞检测循环
有时您可能想检查您的角色是否接触到另一个角色或特定颜色。为此,请使用 碰撞检测循环。
碰撞检测循环结合了循环和条件语句,以不断检查角色是否接触到另一个角色(例如,一个硬币角色)。

(Jess Weichler, CC BY-SA 4.0)
在内部的 if ... then
块中,放置您希望在满足条件时发生的动作。
这种类型的算法是 碰撞检测脚本。碰撞检测脚本感知两个角色或对象何时接触。一个基本的碰撞检测脚本使用四个主要代码块
- 事件帽子
- 无限循环
- 如果 ... 那么
- 碰到
您可以在“如果 ... 那么”块中放置更多代码块。这些块仅在活动角色接触到“碰到”块中列出的角色时才会运行。
您能想出如何使一个对象在与另一个角色碰撞时“隐藏”吗?这是一种常见的技术,用于指示例如角色吃了食物或捡起了物品。
变量和数学
变量 是值的占位符,通常是一个您还不知道的数字。在数学中,使用变量可能看起来像这样:x+12=15
。

(Jess Weichler, CC BY-SA 4.0)
如果这让您感到困惑,那没关系。在我成年后开始编码之前,我也不理解变量。
这是一个如何在代码中使用变量的示例

(Jess Weichler, CC BY-SA 4.0)
坐标
Scratch 使用坐标图来测量屏幕。屏幕的正中间的值为 0,0。屏幕的长度(X 轴)为 -240 到 240,高度(Y 轴)为 -180 到 180。
X 和 Y 坐标 控制每个角色在屏幕上的位置,您可以使用 运动块 对角色的 X 和 Y 坐标进行编码以设置特定位置。

(Jess Weichler, CC BY-SA 4.0)
整合起来
想想任何游戏的基础知识;通常需要哪些元素?
这里有一些例子
- 一个目标
- 一种获胜方式
- 一种失败方式
- 一个障碍
- 一个评分系统
有了以上技术,您就拥有了创建具有这些元素及更多元素的可玩游戏所需的一切。
Scratch 中还有很多我没有提及的代码块。继续探索可能性。如果您不知道代码块的作用,请将其放入脚本中以查看会发生什么!
想出一个游戏创意可能很困难。开源社区(包括 Scratch 社区)的伟大之处在于我们喜欢在彼此的工作基础上进行构建。考虑到这一点,在下一篇文章中,我将看看我最喜欢的一些用户制作的项目以获取灵感。
评论已关闭。