学好Scratch必知的二三事,别样的Scratch积木分类(上)

admin 发表于 2019-10-09 13:11

利利:上一篇当中,我们提及了Scratch的前世今生,从它的诞生当中能够发现,它在出生时就具备了别样的魅力。那么,对于这样一种有趣的编程语言,要怎样学习呢?

对于学习过编程语言的人,特别是掌握Java、PHP等后台语言的人来说,在遇到Scratch时,反而不是非常容易“转换学习思路”。

对于没有学过编程的人,又应该怎样掌握Scratch、学好Scratch呢?Scratch和其他编程语言有何不同之处?对象的概念你又是否了解?从功能角度来说,Scratch积木可以拆解为哪些类别?

全文字数2000字,推荐阅读时长7分钟

Scratch的近亲

基本解析

Scratch这门语言,从展示效果层面来说,像极了HTML5(HTML、CSS、JavaScript)。说它是HTML5语言的近亲,一点也不为过。

在认知心理学当中,有一个名词 - “前摄抑制”:已有的知识和经验,会抑制我们对新知识的认知和学习。

如果此前,你充分掌握了某门后台编程语言,那么在接触Scratch时,很有可能会出现不适。毕竟,前后端编程语言还是存在着明显不同的。

硕硕

不了解HTML5,对于我了解Scratch有没有影响?

利利

如果你接触过其他后台编程语言(PHP、Java、ASP.NET等),建议了解一下HTML5技术,便于更好的理解Scratch

利利

如果你没有接触过其他编程语言,那么,你可以直接学习Scratch,是否了解HTML5并不会对你造成影响

https://cdn.china-scratch.com/timg/191009/131112LR-0.jpg

小贴士

HTML5技术的基础知识

关于HTML5是什么,HTML5语言特点,并非本文的重点,因此在本文当中不做赘述。您可以查看利利的另一篇文章 - 码匠与HTML5学堂 - 文章:零基础看懂HTML5。

Scratch中的“对象”

对象、属性、方法(功能)

在Scratch当中,每个角色都可以看做是一个对象,每个对象都拥有着自己的属性和方法(方法,也称为功能)。

角色、属性、方法(功能)

https://cdn.china-scratch.com/timg/191009/1311123V8-1.jpg

定义功能:角色可以通过搭建一些积木,为角色赋予具体的功能(如:跳跃等);

操作属性:用户可以直接操作角色的属性,比如大小、位置、方向、显示状态。

功能的调用 / 执行

为角色创建的具体功能后,并不代表这个功能立刻被使用,需要让“功能”在“某种情况”下执行,这个过程被称为“功能的调用 / 功能的执行”。

在Scratch当中,往往通过“事件”来让角色的功能得到运行、让角色的属性发生改变。

创建功能与调用执行功能

https://cdn.china-scratch.com/timg/191009/1311125002-2.jpg

小贴士

舞台也是一个对象

在Scratch当中,角色可以看做一个对象,舞台也可以看做一个对象,但是舞台与角色却有着细微的不同。

在Scratch当中舞台的具体功能,后面有机会我会单独开文详细讲解~

Scratch中的积木分类

在Scratch当中,属性和方法,都通过积木来进行操控,而属性和方法的界限却并没有那么清晰(此处和其他语言不同!)。

因此,在Scratch语言当中,我们不能按照传统的方式进行“积木”分类。

其他编程语言,能非常清晰的分辨方法和属性

https://cdn.china-scratch.com/timg/191009/1311132T1-3.jpg

我们可以开启一种全新的分类方式:

1 基础效果类:能够直接设置属性或方法的积木,通过这些积木,能够直接操作角色的样式,让角色发生一些变化;

2 复杂功能类:无法单独使用为角色增加功能,但是能够与其他积木组合,为角色创建复杂功能的积木。

简单理解:

第一类积木,让角色“动起来”;

第二类积木,让角色“动得更复杂”。

针对我们上面所提到的两大类别积木(基础效果类与复杂逻辑类),再做细化,可以大致得到如下分类:

Scratch的积木分类

https://cdn.china-scratch.com/timg/191009/1311134624-4.jpg

小贴士

如何理解“动起来”

此处的“动”,并非单指移动,指的是角色发生各类变化

基础效果类积木及特点

基础效果类,分为表现层和交互层;

表现层,主要包含运动、外观、声音三大模块,用于控制角色样式。

交互层,主要包含询问、键盘、鼠标、响度、绿旗事件,用于让角色与用户发生交互,实现用户控制角色的功能。

基础效果类 - 交互层积木

https://cdn.china-scratch.com/timg/191009/131114ON-5.jpg

在只使用“基础效果类”的积木时,也可以制作出完整的案例作品!此类作品具有一个共同的特点 —— 积木结构单一,为“顺序结构”。

对于Scratch初学者,特别是在编程逻辑方面不擅长的学习者,可以从此类积木入手,在掌握熟练之后,再逐步触碰“复杂逻辑类”的积木。

硕硕

何为顺序结构?

利利

在编程语言当中,包含三种不同的语言结构,分别是“顺序结构”“循环结构”和“分支结构”。

利利

所谓顺序结构,就是积木(代码)自上而下进行执行,并不会出现判断或循环。

硕硕

顺序结构能够解决的问题有哪些?

利利

顺序结构的程序主要解决计算、输出等问题,在书写时,只要按照解决问题的顺序使用相应的积木就可以了。

硕硕

使用基础效果类积木,能够做哪些事情?

硕硕

或者说,能够制作哪些类型的作品呢?

利利

展示类作品为主,比如故事、有声读物等;当然也可以制作简单的运动效果。

后记,小编朋友公司研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

感兴趣的朋友可以扫描二维码,关注一下,或微信搜索“大耳猴少儿编程”

https://www.china-scratch.com/Uploads/Editor/2018-04-22/5adca08bdc212.jpg