带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

点击查看第一章

02 角色的基础:“运动”“外观”“声音”模块

从这一章开始,我们会分模块讲解Scratch中的积木块。“运动”“外观”“声音”这三个模块是直接针对角色和舞台背景变化的模块,也是Scratch中使用频率较高的模块。

2.1“运动”模块:让角色更生动

在Scratch中,要想让舞台上的角色动起来,需要使用“运动”模块中的积木块。角色的运动方式包括角色的移动、方向和旋转,其中角色的移动又分为绝对移动和相对移动两类。下面将详细介绍这几种运动方式。

2.1.1角色的绝对移动

在Scratch中,角色的绝对移动是通过指定坐标来完成的。在上一章中提到了,舞台处在一个长480步、宽360步(每1个单位就是1步)的坐标系下,舞台上所有的位置都有一个对应的坐标。以初始角色“角色1”(小猫)为例,创建新项目后,小猫位于舞台的正*,此时坐标为(0,0),然后用鼠标将小猫拖动到舞台的其他位置,如下图所示,在角色列表的“x”和“y”框中可观察到坐标值的变化。下面分类介绍“运动”模块中的相关积木块。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

类型 1
分别设置角色的x坐标值和y坐标值。有两个积木块能实现这一效果。为位于原点的小猫添加“将x坐标设为(100)”积木块,可以看到小猫的坐标变为(100,0),如下左图所示。让小猫回到原点,删除已添加的积木块,再添加“将y坐标设为(100)”积木块,可以看到小猫的坐标变为(0,100),如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

类型 2
同时设置角色的x坐标值和y坐标值。为小猫添加“移到x:(-100)
y:(-100)”积木块后,小猫的位置瞬间发生了变化,如下左图所示。为小猫添加“在(1)秒内滑行到x:(-100)y:(-100)”积木块后,小猫的位置同样会发生变化,与前一积木块的区别在于,这是一个人眼可见的动态过程,如下右图所示。通过修改秒数,可以控制移动过程所持续时间的长短。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

小提示
如果要随意指定角色的坐标值,可以使用“移到(随机位置)”积木块和“在(1)秒内滑行到(随机位置)”积木块。两者的区别和类型2中两个积木块的区别相同:前者实现的移动过程是瞬间完成的,人眼几乎无法察觉,如下左图所示;后者实现的则是一个人眼可见的动态过程,并且这一过程持续的时间是可以调控的,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

类型 3
在舞台上显示角色的x坐标值和y坐标值。除了让角色移动以外,还可以实时显示角色的x、y坐标值。在“运动”模块中勾选“x坐标”和“y坐标”积木块前面的复选框,如下左图所示,就能在舞台中实时显示角色的x、y坐标值,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.1.2角色的相对移动

角色的相对移动是指以角色原来的位置为起点,通过指定移动的步数来实现角色的移动。下面分类介绍相关的积木块。
类型 1
直接设置移动步数。是指让角色从原来的位置向着面朝方向移动指定的步数。为小猫添加“移动(100)步”积木块,由于小猫默认面朝右方,所以小猫从原来的位置向右移动了100步,如右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

类型 2
设置相对坐标。是指通过分别增加x、y坐标值让角色移动到某个位置上。为小猫添加“将x坐标增加(100)”和“将y坐标增加(100)”积木块后,小猫从原来的位置分别向x和y的正值方向移动了100步,如右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.1.3角色的方向

在“运动”模块中,涉及角色方向变化的积木块有“面向(90)方向”和“面向(鼠标指针)”。这两个积木块都可以直接让角色的方向发生变化。
角色的方向指的是角色的面朝方向。以初始角色小猫为例,在创建新项目后,小猫面朝的方向是右方,对应的角度为90°,如下左图所示。在“运动”模块中,“面向(90)方向”积木块就代表了角色的面朝方向,可以通过更改积木块中的数字或在弹出的圆盘中拖动指针来控制角色的面朝方向,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

将“面向(90)方向”积木块中的数字更改为“135”,更改后小猫的面朝方向发生了变化,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

若为小猫添加“面向(鼠标指针)”积木块,如下左图所示,则在舞台中,小猫的面朝方向会随着鼠标指针的移动而变换,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.1.4角色的旋转

生活中,我们会经常看到旋转的风车、齿轮之类的物品。旋转也是角色运动的一种方式,通常是角色围绕着某一个点或某一根轴旋转。在Scratch中,角色旋转的方式有两种:一种是绕中心点旋转,另一种是镜像翻转。下面分别讲解。
类型 1
绕中心点旋转。为小猫添加“右转(15)度”积木块,并且修改框中的数字为“45”,单击积木块后,小猫绕中心点向右(顺时针)旋转了45°,如下左图所示;然后让小猫恢复原状,再为其添加“左转(15)度”积木块,并且修改框中的数字为“45”,单击积木块后,小猫绕中心点向左(逆时针)旋转了45°,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

类型 2
镜像翻转。当角色运动到舞台边缘时,若要让角色“回头”,就要用到“碰到边缘就反弹”积木块,这里的“反弹”用到的旋转方式便是镜像翻转。镜像翻转也有两种情况:一种是正向镜像翻转,另一种是反向镜像翻转。在Scratch中,正向镜像翻转被称为“左右翻转”,而反向镜像翻转被称为“任意旋转”,现在来看看效果,如下图所示。
小提示
旋转实现的是运动的一个过程,而不是一个结果。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

试一试
如右图所示的脚本能让小猫在舞台上沿着华丽的曲线运动。自己动手操作一下,看看会有怎样的效果吧。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.2“外观”模块:让角色更形象

要让角色在舞台上更形象,就需要让角色产生更多变化,此时就要用到“外观”模块。“外观”模块的功能主要有五个方面:切换角色的造型;改变角色的大小;让角色看起来像在思考或说话;为角色的外观添加特效;调整角色在舞台上的显示层次。

2.2.1造型的切换

造型切换是角色能够生动地展示在舞台上的秘诀之一。通过不断切换造型,可以让角色呈现动态效果。
下面以角色库中的“Shark 2”(鲨鱼)作为示例,来看看角色的造型是如何切换的。将角色库中的“Shark 2”角色添加到角色列表,再单击“造型”标签,如下左图所示,切换至“造型”选项卡,在左侧的造型列表中可以看到“Shark 2”角色所有造型的缩略图,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

使用“下一个造型”积木块后,鲨鱼角色会切换为造型列表中当前造型之后的一个造型,如下左图所示;使用“换成(shark2-c)造型”积木块后,鲨鱼角色会直接切换为指定的“shark2-c”造型,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.2.2大小的变化

在Scratch中,除了在角色列表中修改角色的大小,还可以通过添加“将大小增加()”积木块或“将大小设为()”积木块来修改角色的大小。“将大小增加()”积木块可将角色大小在原来的大小基础上增减指定的数值,“将大小设为()”积木块则可将角色大小变为指定的数值。下面以初始角色小猫为例,来看看这两个积木块实现的效果。
添加积木块之前,小猫的大小为100%。使用“将大小增加(50)”积木块后,小猫的大小会从100%变为150%(100%+50%=150%),如下左图所示;使用
“将大小设为(50)”积木块后,小猫的大小会从100%变为50%,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.2.3思考和说话

现在角色已经能够在舞台上*地切换造型和改变大小了,但是角色的外观不只是切换造型和改变大小,我们还可以让它看起来像在思考和说话,这样会让角色显得更有生机。下面还是用小猫来展示角色思考和说话的效果。
“思考()”和“思考()()秒”这两个积木块可让角色显示指定的思考内容,思考的内容以浮云框的形式展示,“思考()()秒”积木块还会对浮云框显示的时间进行限制。为小猫添加“思考(嗯……)”积木块,单击积木块之后,小猫的右上角会出现一个浮云框,浮云框中显示的“嗯……”就是小猫思考的内容,如下左图所示;重新给小猫添加“思考(嗯……)(2)秒”积木块,单
击积木块之后,小猫的右上角也会出现一个浮云框,如下右图所示,但是浮云框显示2秒之后便会消失。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

“说()”和“说()()秒”这两个积木块可让角色显示指定的说话内容,说话的内容以气泡框的形式展示,“说()()秒”积木块还会对气泡框显示的时间进行限制。为小猫添加“说(你好!)”积木块,单击积木块之后,小猫的右上角会出现一个气泡框,气泡框中显示的“你好!”就是小猫说话的内容,如下左图所示;重新给小猫添加“说(你好!)(2)秒”积木块,单击积木块之后,小猫的右上角也会出现一个气泡框,如下右图所示,但是气泡框显示2秒之后便会消失。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

试一试
如下图所示的两段脚本能让小猫和小企鹅两个角色之间进行一番对话。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.2.4角色的特效

角色的特效是指给角色的外观添加一些特殊的修饰,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

小提示
这里的数值与角色大小的数值是一样的,都是百分数。

2.2.5角色的图层

通俗地讲,Scratch中的图层就像是含有角色或背景等元素的透明胶片,一张张叠放在一起,形成最终的舞台效果。图层叠放的顺序不同,会得到不同的舞台效果。下面通过一个例子来帮助理解吧。
保留默认的小猫角色,然后添加新的角色“Fish”(鱼)和“Lion”(狮子),如下图所示。可以清楚地看到,在舞台上,鱼遮住了小猫的一部分,而狮子又遮住了鱼的一部分,所以,狮子的图层在最上面,鱼的图层在中间,而小猫的图层在最下面。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

为小猫添加“移到最(前面)”积木块,单击积木块之后,小猫会移动到所有角色的最上面,如下左图所示;现在让小猫恢复原状,然后添加“(前移)(1)层”积木块,单击积木块之后,小猫会移动到鱼的上面,把鱼遮住一部分,但小猫还是会被狮子遮住一部分,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.3“声音”模块:让角色更有活力

“声音”模块也是项目修饰中一个不可或缺的成分,它可以增加项目的互动性、体验性及生动性。无论是角色还是背景,添加了声音之后,都会更加生动和活跃。给角色或背景添加声音后,还可以修改声音的音效及音量。

2.3.1角色的声音

可以添加Scratch自带声音库中的声音,如下图所示,也可以将外部音效
上传到项目中,还可以自己录制声音。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.3.2音调和音量的区别

在“声音”模块中,“音调”和“音量”是有区别的。“音调”主要由声音的频率决定,同时也与声音的强度有关,表示人的听觉分辨一个声音的调子高低的程度;“音量”又称响度、音强,是指人耳对所听到声音的大小、强弱的主观感受。
试一试
通过如下图所示的两段脚本来感受一下音调和音量的区别。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

2.4热闹的森林

下面来编写一个综合性较强的案例。这个案例要运用本章所介绍的“运动” “外观” “声音”模块中的多个积木块,以森林作为背景,有不同的动物在*地活动,并发出欢快的声音。
实例文件:实例文件第2章:热闹的森林.sb3
步骤 01
选择Scratch自带背景库中的“Forest”(森林)作为舞台背景。单击“选择一个背景”按钮,如右图所示,在弹出的界面中单击“Forest”背景素材,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 02
添加Scratch自带角色库中的“Grasshopper”(蚱蜢)角色。单击“选择一个角色”按钮,如右图所示,在弹出的界面中,先在顶端单击“动物”分类,然后在下方单击选择“Grasshopper”(蚱蜢)角色,如下图所示,将其添加到角色列表中。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 03
添加好角色之后,先删除初始角色“角色1”(小猫),如下左图所示,然后修改“Grasshopper”角色名称为“蚱蜢”,修改角色大小为“30”,如下右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 04
修改蚱蜢坐标值为(-160,-140),使它位于舞台的左下角,看起来就像是趴在草地上一样,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 05
接着要让蚱蜢在舞台上反复不停地左右移动,并且在触碰到舞台边缘后能够回头继续移动,这就需要为蚱蜢添加如下图所示的脚本。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 06
现在要让蚱蜢在移动的同时变换自己的外形,让其更灵动一些。在“将旋转方式设为(左右翻转)”积木块的下方添加“等待()秒”积木块(位于“控制”模块)和“下一个造型”积木块,在输入框中输入“0.2”,让造型变化的速度稍快一些,符合蚱蜢的特性,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 07
现在要让蚱蜢在移动的同时发出声音。展开“声音”选项卡,将鼠标指针移至下方的“选择一个声音”图标上,在弹出的列表中单击“选择一个声音”按钮,如右图所示。在弹出的界面顶端单击“动物”分类,然后在下方选择“Crickets”(虫鸣)声音,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 08
返回“代码”选项卡,如下左图所示,现在要让蚱蜢能够一边移动一边发出声音,在“下一个造型”积木块下方添加“声音”模块下的“播放声音(Crickets)”积木块,如下右图所示。蚱蜢的脚本就写好了。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 09
还可以添加一些其他动物,下面依次给出这些角色的基本信息,包括大小和坐标,以及每个角色的脚本。首先是蝴蝶,大小设为“50”,坐标设为(50,100),如右图所示;脚本和蚱蜢类似,修改每次移动的步数为“1”,并且去掉播放声音的积木块,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 10
接下来是狮子,大小保持不变,坐标设为(110,-20),如下图所示;脚本和蝴蝶类似,修改每次移动的步数为“3”,如右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 11
接着是瓢虫,大小设为“50”,坐标设为(-160,-140),如下图所示;脚本和蚱蜢类似,修改每次移动的步数为“1”,并且修改播放的声音为“Chirp”,如右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 12
然后是蛇,大小设为“60”,坐标设为(-130,-30),如下图所示;脚本和蝴蝶类似,修改每次移动的步数为“2”,如右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 13
最后是鹦鹉,大小设为“60”,坐标设为(-130,70),如下图所示;脚本和蚱蜢类似,修改播放的声音为“Bird”,如右图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块
带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

步骤 14
单击带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块运行程序,热闹的森林场景就呈现出来了,如下图所示。

带你读《少儿人工智能趣味入门动画与游戏编程一本通》之二:角色的基础:“运动”“外观”“声音”模块

上一篇:弹性计算双周刊 第20期


下一篇:数据结构 - 二叉树(重构 + 遍历)