控制
通常 Scratch 的积木流程为从上而下运作,控制积木 Control blocks 可以依据逻辑判断或用户触发的行为,进一步控制流程,让程序等待、重复或停止,甚至也可以制作角色的分身,做出更多角色的效果。
控制积木通常会搭配侦测积木或运算积木,可参考教学:Scratch 3 侦测积木、Scratch 3 运算积木
等待
“等待积木”可以让程序暂停一段时间,有两种类型:
- 等待几秒:可以让程序指定等待的秒数。
- 等待直到:的后方要接上逻辑判断条件,当发生某些事情后,才会停止等待。
举例来说,在程序中间插入三个等待一秒的积木,执行后就会每个一秒说出指定的文字。
下方的例子使用“等待直到”的积木,一开始角色会说出“等待中...”的文字,直到碰到鼠标,才会停止等待,继续说出“等待结束”的文字。
重复
“重复积木”可以重复执行放在内容区块的程序,有三种类型:
- 重复几次:指定内容程序要重复的次数。
- 重复无限次:让内容程序不断重复执行,因为是无限次的执行,所以后方无法接续其他积木。
- 重复直到:让内容程序不断重复执行,直到发生某些事情才会停止重复。
举例来说,可以让角色重复旋转 20 度 18 次,每次旋转都会变大 3 点,重复结束后变成原本的大小。
如果将重复几次改成重复无限次,就可以让角色重复无限次的旋转 5 度 ( 角色会不断的在原地旋转 )。
如果将上方的例子换成“重复直到”的积木,判断当角色碰到鼠标时就会停止旋转,恢复原本的角度并讲出一些文字。
如果
“如果积木”是负责逻辑判断的积木,在 Scratch 里有两种:
- 如果...那么:单向判断,表示“如果条件成立 ( true ),就执行,如果条件不成立 ( false ),就什么都不执行”。
- 如果...否则:双向判断,表示“如果条件成立 ( true ),就执行‘如果’下方的程序,若条件不成立 ( false ),就执行‘否则’下方区域的程序”。
通常“如果积木”会搭配“重复积木”,例如将“如果...那么”放在重复无限次的积木内,就能够判断当鼠标碰到角色时,讲出一段文字,鼠标离开后过一秒文字就会消失。
将上面的例子改成“如果...否则”,就能够做到鼠标移上去时变色,鼠标移开时恢复原本的颜色。
停止
“停止积木”可以停止程序的执行,下拉选单有三种模式:
- 全部:等同于按下舞台左上角的红色八角形按钮,专案中所有程序都会停止运作。
- 这个程序:停止这个停止积木所在的程序区块。
- 这个对象的其他程序:停止这个停止积木所在的角色或背景的所有程序。
下面的例子是在舞台中放入两个角色,分别让两个角色不断旋转,透过“停止全部”的积木,鼠标点击猫咪角色时,停止全部的程序,这时连同螃蟹角色都会停止旋转。
如果将上面的例子,改成“停止这个对象的其他程序”,鼠标点击猫咪角色时,就只有猫咪角色会停止动作,螃蟹角色仍然持续旋转。
“停止这个程序”只会停止这个停止积木所在的程序区块,例如猫咪角色有两段程序区块,一段负责猫咪不断重复旋转,一段负责猫咪不断重复变色,当鼠标移到猫咪的身上,只会停止旋转的动作,仍然会继续变色。
分身
“分身积木”可以为角色建立分身,在需要大量地同一角色造型时相当实用,在 Scratch 里,一次最多可以建立 300 个分身,分身积木有三种:
- 当分身产生:分身建立后,这个分身要执行什么程序。
- 建立分身:针对角色本身,或其他角色建立分身。
- 分身删除:一次删除所有的分身,如果该积木放在“当角色被点击”积木下方,只会删除该分身。
下方的例子,点击猫咪角色时,透过重复十次的积木产生十个分身,分身产生后定位到随机位置并改变颜色,如果点击分身,分身就会消失。
范例链接:建立分身与删除分身
微信扫码关注
抖音扫码关注