Scratch 基础教学|第九课: Scratch基本组件之控制类功能块详解

网友投稿 2018-08-26 15:48

hi,大家晚上好。上一节课主要给大家介绍了Scratch事件类功能块可实现的功能及每一个事件类功能块的具体用途及如何使用。

本节课主要和大家一块了解并学习控制类功能块可实现哪些功能及每一个控制类功能块的具体使用。

本节课的课程目标如下:

- 介绍控制类功能块的作用

- 介绍控制类中的每个功能块

- 创建一个简单的示例

1

介绍控制类功能块的作用

控制类功能块提供了对脚本执行的基本控制。可用于停止脚本执行、暂停脚本执行、通过建立循环来重复执行相同的操作、通过一个测试条件的真与假来实现逻辑判断的处理。Scratch 2.0中新的控制功能块还允许在程序执行中创建、删除和克隆角色,以及在开始克隆时触发脚本的执行。

https://cdn.china-scratch.com/timg/180828/154PQ040-0.jpg

2

介绍控制类中的每个功能块

https://cdn.china-scratch.com/timg/180828/154PQ0T-1.jpg01

等待"1"秒

使用这个控制功能块,可以在需要的时候短暂的暂停脚本执行。例如在闯关游戏中,完成关卡时,可以让游戏短暂的暂停,给玩家展示自己的得分成绩,然后再继续游戏。

暂停脚本执行的另一个原因是,帮助管理声音文件的播放,如下图所示:

https://cdn.china-scratch.com/timg/180828/154PS303-2.jpg

从上述脚本中可以看出,为了播放第一个声音文件,脚本暂停了两秒钟,然后继续执行,再播放第2个声音文件。如果删除了中间的暂停功能块,那么,两个声音文件将会同时播放,相互干扰。

https://cdn.china-scratch.com/timg/180828/154PR193-3.jpg

使用这两个功能块,可以创建循环,以重复执行嵌入到其中的功能块。

02

重复执行"10"次

将嵌入到其中的所有功能块重复执行指定的次数。如下图的示例脚本:

https://cdn.china-scratch.com/timg/180828/154PR4M-4.jpg

03

重复执行

将嵌入到其中的所有功能块重复执行。如下图的示例脚本:

https://cdn.china-scratch.com/timg/180828/154PT225-5.jpghttps://cdn.china-scratch.com/timg/180828/154PW938-6.jpg

04

如果""那么

如果指定的条件结果为真,执行嵌入到该控件中的所有功能块。

https://cdn.china-scratch.com/timg/180828/154PW322-7.jpg

05

如果""那么,否则

如果指定的条件结果为真,则执行控件的上半部分("否则"以上的部分)嵌入的所有功能块,如果条件为假,执行控件的下半部分("否则"之后)嵌入的所有功能块。

06

在""之前一直等待

暂停脚本的执行,直到指定的条件为真。示例是,当按下"空格"键时,会播放声音,角色(默认角色即可)可右转180度,并移动50步。

https://cdn.china-scratch.com/timg/180828/154PW4D-8.jpg

07

重复执行直到""

重复执行其中嵌入的所有功能块,直到一个测试条件为真,循环停止运行。使用默认角色(小猫),添加下面执行脚本。在角色未碰到边缘时,角色会一直移动,在碰到边缘时,角色停止移动。

https://cdn.china-scratch.com/timg/180828/154PS455-9.jpghttps://cdn.china-scratch.com/timg/180828/154PQP7-10.jpg

08

停止"全部"

停止所有角色中的脚本、一个指定的脚本或者一个角色中其他脚本的运行。这个功能块有一个下拉列表,可以选择如下选择:

全部:停止应该程序中所有脚本的执行。

当前脚本:停止包含了这个功能块的脚本的执行。

角色的其他脚本:停止属于该角色的除了包含该功能块脚本之外的其他所有脚本的执行。

https://cdn.china-scratch.com/timg/180828/154P93500-11.jpghttps://cdn.china-scratch.com/timg/180828/154P91058-12.jpg

09

当作为克隆体启动时

当创建一个克隆体的时候,触发脚本的执行。

10

克隆"自己"

创建指定角色的一个临时克隆体。

11

删除本克隆体

删除当前的克隆体。

通过第一个脚本执行循环8次,对本角色进行克隆,在第二个脚本中,按下空格键时,删除本角色的克隆体。

示例脚本:

https://cdn.china-scratch.com/timg/180828/154P91950-13.jpg

示例运行效果:

https://cdn.china-scratch.com/timg/180828/154P96405-14.jpg

3

创建一个简单的示例

一块和大家做一款小猫追球的小游戏。

该游戏由4个角色、9段脚本组成。游戏的目标就是阻止小猫抓到舞台上的小球。如果能够坚持30秒钟则获胜,否则失败。

首先:介绍4个角色组成

https://cdn.china-scratch.com/timg/180828/154P9C23-15.jpg

第1个和第2个角色,可以点击从"角色库中选取角色"选择即可。

第3个,第4个角色,"点击绘制角色",通过使用Scratch内建的绘图编辑器来创建即可。如下图所示:

https://cdn.china-scratch.com/timg/180828/154PaR5-16.jpg

其次:添加程序所需的变量

https://cdn.china-scratch.com/timg/180828/154P92255-17.jpg

然后:介绍运行脚本

https://cdn.china-scratch.com/timg/180828/154P94M6-18.jpg

上述的脚本是第一个角色"Cat"的相关运行脚本。

第一个脚本的作用是设置程序启动时,小猫的相关初始操作。如初始位置,Cat角色朝向ball角色,以及每次移动的大小。

第二个脚本是设置Cat的声音。

第三个脚本是设置小猫抓到球后停止应用程序中脚本的执行,并广播消息"you lose".

第四个脚本是记录程序执行的时间,如果程序运行时间达到30秒,广播消息"you win",并结束游戏脚本执行。

https://cdn.china-scratch.com/timg/180828/154P93054-19.jpg

上述的脚本是第二个角色"Beachball"的相关运行脚本。

该脚本的作用是将小球移动到舞台顶部,然后将小球下移一层,确保如果beachball角色碰到Cat角色后,beachball角色将显示于Cat角色的下面而不是上面。

https://cdn.china-scratch.com/timg/180828/154P94556-20.jpg

上述的脚本是第三个角色"win msg"的相关运行脚本。

第一个脚本是在程序启动时,隐藏该角色。第二个脚本在是接到到广播消息"you win"时,用于将该角色进行显示,并将该角色置于其它角色之上。

https://cdn.china-scratch.com/timg/180828/154P959D-21.jpg

上述的脚本是第四个角色"lose msg"的相关运行脚本。脚本作用与第三个角色的脚本作用类似。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com