7天0基础学会Scratch3.0编程《0基础入门系列教程Scratch篇》

原创 码力老师 吉兔ai课 2023年01月05日 09:09 广西 简介w入门 - 图1 ## 一、简介 Scratch是美国麻省理工学院(MIT)针对8到16岁青少年开发的编程软件,Scratch3.0最新版本于2019年发布,其低代码积木式编程与游戏结合深受广大青少年喜爱。在Scratch3.0之前MIT还有1.4和2.0版本,随着软件技术的发展旧版本使用的flash技术已经被淘汰,根据码力老师对Scratch3.0源码分析,软件是基于谷歌公司的开源软件进行深度定制,采用H5等前端技术实现,软件界面比旧版本更优秀使用体验也更好,是目前学习使用的主流版本。 Scratch3.0是非常优秀的青少年编程学习软件,它采用积木块代替实际代码,隐藏软件代码的细节从而降低编程难度。Scratch3.0游戏舞台是软件的核心元素,程序与游戏动画结合,将舞台作为编程结果的展现,能非常直观看到程序的执行结果,同时也增加了软件编程趣味性。得益于Scratch3.0优秀的扩展能力,乐高、microbit等硬件厂商也纷纷接入了Scratch生态,Scratch3.0已不再局限于软件小游戏编程,也能实现硬件机器人设备的编程。

二、为什么选择Scratch3.0

编程提升逻辑思维能力这是肯定的,Python、C++这么多编程方式为什么选择Scratch3.0图形化编程?码力老师接下来分析供各位家长参考:一是Scratch3.0是目前设计最优秀、使用最广泛、普遍被大众和教育部门认可的图形化编程软件,目前的部分小学以及第三方教育机构普遍采用该软件进行教学,青少年编程考级和蓝桥杯白名单比赛也都采用这套编程解决方案。二是编程难度相对较低,软件设计的初衷就是帮助青少年进入编程世界,作为专业程序员来说Python、C++这样的计算机语言能做的事情更多也更专业,但是这类计算机语言编程难度比较大,Python作为替代VB语言成为高中学习的课程,而C++则是大学计算机相关专业才会学习的计算机语言,他们都是非常专业的代码编程语言,并不适合刚入门的青少年学生。Scratch采用积木式图形化编程,隐藏代码编程、数据结构、复杂计算等概念,图形化编程结合舞台动画,经过稍加学习的小学生就能很快做出作品,能让学生感受到编程的乐趣也能获得编程带来的成就感,而成就感又促使学生不断开拓进取学习相关知识和技能。根据以上两个观点,码力老师认为Scratch3.0非常适合作为青少年编程的入门学习,经过一段时间的图形化编程学习后再考虑深入python学习,如果接受能力强也可以学习C++编程。 码力老师也专门为青少年儿童开发了Pyblocks图形化Python编程软件,结合LEGO乐高机器人和积木式编程,降低从Scratch转Python和零基础入门Python的学习难度,通过图形化编程软件带领同学们快速进入Python编程世界。关注微信公众号:吉兔ai课,发消息“PY图形化编程软件”获取软件和教程。

简介w入门 - 图2

三、软件下载安装

为了保证提供的是最新版本Scratch3.0软件,请给吉兔ai课微信公众号发消息“图形化编程软件获取软件。安装时双击安装程序按提示安装即可。

四、积木块类型

Scratch图形化编程不涉及代码,全部采用积木块进行编程。Scratch按具体功能分为运动、外观、声音、事件、控制、侦测、运算、变量等等不同的积木块,但从积木块形状类型来分其实就只有事件、操作、控制、数值、布尔值5种。这也是编程过程中考虑的如何开始、如何操作、怎么控制、什么数据的相关步骤。具体如下:

简介w入门 - 图3

扩展知识:布尔值

布尔值是一种只有真假两种结果的值,scratch中六边形的条件块都是布尔值类型,在代码编程中布尔值真为true,假为false,布尔值通常用来作为判断依据,当布尔值为真true时条件成立,当布尔值为假false时条件不成立。

五、输入类型

输入类型是积木块获取值的方式,比如说小猫角色向前走10步,那么这个10就是可更改可输入的数值,作用是通过数值输入让小猫知道走多远。scratch中有数字和文本、数字和文本下拉选项、下拉选项、颜色值、布尔值等5种输入类型,如下:

简介w入门 - 图4

六、积木块功能

(一)事件(Event)

事件是大多数编程语言的概念,可以理解某个事情的发生,当事情发生时应该做什么。当小绿旗按钮、小猫角色被点击,当键盘按键被按下等等都是事件的发生,当事件发生时使用相应的积木块去监测就可以在对应的时机执行相应的操作。

简介w入门 - 图5

例子

同一个角色例如小猫,可以同时添加多个事件触发操作,例如: 小绿旗被点击时切换背景为Baseball2,此时触发背景切换事件让小猫角色移动到随机位置。当按下键盘空格键时广播消息1,此时另一个脚本接收到广播消息1让小猫说你好!,程序结束。

简介w入门 - 图6

扩展知识:事件

在大多数计算机编程语言中都有事件的概念,比如网页中的JavaScript就是典型的事件驱动编程语言,甚至可以做到所有的操作都基于事件驱动去执行。事件如果用计算机思维去理解会比较抽象,可以理解为日常生活中的事例比如红绿灯,当红灯亮起时我们的眼睛接收到灯信号停止过马路,接收到绿等信号后继续过马路,红绿灯发出信号是事件的发生。

(二)运动(Motion)

Scratch的所有编程都围绕着角色和舞台背景进行,目的是让程序执行更加直观和生动。运动积木块用于控制角色运动,是Scratch中最常用的积木块,运动积木块包含移动位置、改变方向、旋转翻转等功能。

简介w入门 - 图7

例子:小猫跑步1

小绿旗被点击开始执行,角色小猫面向90度(正右方),1秒内移动到指定坐标,到达后面向-90度(正左方),2秒内移动到指定坐标。

简介w入门 - 图8

扩展知识:坐标

坐标常用在矩阵排列的平面中,例如显示器像素1080x720,表示横向1080个像素点纵向720个像素点。在坐标轴中用X轴表示横向Y轴表示纵向,坐标轴也就是纵横各一根数轴,坐标点是根据XY轴具体数值确定点位置,坐标点(0,0)表示坐标系原点,参考下图:

简介w入门 - 图9

(三)外观(Looks)

表演不只有对象的移动,还有舞台外观的设定,可以理解为舞台的布置和表演角色的打扮。外观积木块主要控制舞台背景、对象特效、角色造型、角色大小、角色层级、角色说话和思考、角色隐藏和显示

简介w入门 - 图10

注意:有的积木块只能用在角色,有的积木块只能用在背景,软件会根据当前编程的对象(角色或舞台)提供相应的积木块。

例子:小猫跑步2

在运动积木块的“小猫跑步1”例子基础上让小猫说话并替换背景: 小绿旗被点击开始执行,角色小猫面向90度(正右方)1秒内移动到指定坐标,到达后说“你好”持续2秒后切换背景,面向-90度(正左方)2秒内移动到指定坐标,思考“嗯……”持续2秒后切换背景

简介w入门 - 图11

(四)声音(Sound)

声音是舞台不可缺少的元素,能让角色更生动游戏更好玩整体效果更佳。主要是声音的播放和停止,音量和音调调节等。

简介w入门 - 图12

(五)控制(Control)

角色在舞台中的操作需要加以一定控制,比如判断它运动状态、位置,控制它运动到什么位置运动多少次等等,涉及到条件判断和重复循环、克隆等积木块。

简介w入门 - 图13

例子:克隆小猫

小绿旗被点击开始,重复移动小猫角色到随机位置并克隆自己,当小猫角色被克隆后克隆体重复执行移动到随机位置。使用到了小绿旗开始、克隆体开始、重复、移动位置、克隆。

简介w入门 - 图14

扩展知识:克隆

克隆相当于对当前的角色复制一个副本。

(六)侦测(Sensing)

侦测是scratch对舞台角色中的一些量化数据和关系,包括位置关系、键盘鼠标、询问、角色拖动、系统状态等。比如鼠标在舞台中的坐标、小猫角色碰到舞台边缘、或者键盘的按键被按下等等,通过侦测的积木块都能被捕捉到。侦测通常被作为判断的条件,从而能更好的得控制舞台中角色执行动作。

简介w入门 - 图15

例子:小猫触碰仙人掌1

小绿旗被点击开始,小猫角色重复移动到随机位置,当碰到仙人掌(颜色)时小猫角色说“哎呀好痛!”。

简介w入门 - 图16

扩展知识:条件判断

条件是Scratch中六边形积木块,通常与如果…那么…判断积木块配合使用,条件要么为真成立要么为假不成立两种结果,这种只有对错两种结果的类型称为布尔类型,在代码编程中布尔类型的值要么为true真,要么为false假。

(七)运算(Operators)

运算是程序的重要操作,包括数值的算术运算、比较运算、逻辑运算(与或非)、字符操作,数学运算、随机数、取余数、四舍五入等,是编程中逻辑和计算不可缺少的操作。

简介w入门 - 图17

例子:小猫触碰仙人掌2

小绿旗点击开始,重复移动小猫角色到随机坐标,当小猫角色碰到仙人掌或者舞台边缘时小猫说“哎呀,好痛!”。使用到了随机数和条件的或运算。

简介w入门 - 图18

(八)变量(Variables)

变量顾名思义可变的量,通常用来存储程序执行过程中产生的数据,可以是数值也可以是文本。

简介w入门 - 图19

新建变量

在变量程序库中点击“建立一个变量”来创建变量,输入变量名并选择适用范围确定即可创建成功。变量适用范围是限定变量在全部角色还是当前角色使用,当选择仅适用于当前角色时,在别的角色中无法使用该变量。

简介w入门 - 图20

修改变量名和删除变量

变量的积木块中下拉选项都可以修改变量名和删除变量,修改变量名时在输入框中输入新名称确定即可。

简介w入门 - 图21

例子:小猫触碰仙人掌3

小绿旗被点击开始,变量“触碰次数”设为0,重复移动小猫角色到随机位置,当触碰到仙人掌(颜色)时,变量“触碰次数”增加1次

简介w入门 - 图22

(九)列表(List)

列表是一种数据存储结构,与变量不同的是变量存储的是单个值,当重新赋值后原值将被覆盖,而列表可以存储多个值,新添加的值不会覆盖原值,列表中的多个值称为项目,列表中的每个项用编号进行位置区分。

简介w入门 - 图23

扩展知识:序号和编号 我们的计数习惯是从1开始计数,而计算机是从0开始计数,码力老师暂且用序号和编号来区分,而序号就等于编号加一。实际上在计算机编程中还有一个更为专业的名词称为索引或者下标。Scratch中为降低编程难度,让学生更易于理解,统一称之为编号和序号。

创建列表

创建列表与创建变量方法类似,在程序库中点击“建立一个列表”输入列表名称确定即可。列表适用范围是限定列表在全部角色还是当前角色使用,当选择仅适用于当前角色时,在别的角色中无法使用该列表。

简介w入门 - 图24

例子:小猫触碰仙人掌4

小绿旗被点击开始,变量“触碰次数”设为0清空列表,重复移动小猫角色到随机位置,当触碰到仙人掌(颜色)时,变量“触碰次数”增加1次同时把触碰坐标添加到列表中。

简介w入门 - 图25

(十)自制积木(My Blocks)

自制积木类似其他编程语言的函数,将多个操作合并在一个块中执行,这样相同的操作就不用多次编写,在需要的地方使用一个积木块引用即可。

简介w入门 - 图26

在创建自制积木时,底部三个选项可添加到积木中。
  • 添加输入项:可输入数字或者文本值。
  • 添加输入项:添加条件,档条件是否成立返回的都是布尔值,成立是真不成立是假。
  • 添加文本标签:提示性的文字。

例子:小猫触碰仙人掌5

小绿旗被点击开始,变量“触碰次数”设为0,重复移动小猫角色到随机位置,当触碰到仙人掌(颜色)时,执行自制积木让小猫角色说“哎呀,好痛!”并让变量“触碰次数”增加1次

微信公众平台 (qq.com)简介w入门 - 图27