变数
变数积木 Variables Blocks 是一个带有自订名称的“容器”,容器里可以放入数字、字串、清单或是逻辑判断等信息,更可以让其他程序积木重复使用,在许多较为复杂的程序,都会大量应用到变数,来简化程序逻辑,让程序更弹性更容易编辑。
跟变数积木类似的还有清单积木,参考:清单积木 ( Lists Blocks )
建立 / 设定变数
Scratch 3 已经默认建立了一个名为 my variables 的变数,当已经有变数的时候,会出现四个变数积木选单,分别是:
- 变数...设为:指定变数为某个数值、字串、清单或是逻辑。
- 变数...改变:针对“内容为数值”的变数,进行数字的改变。
- 变数...显示:变数显示在舞台内。
- 变数...隐藏:变数从舞台隐藏。
点击选单里“新增变数”的按钮,会弹出一个新增变数对话视窗,可以输入变数的名称,并选择“适用于所有角色”还是“仅适用于当前角色”。( 如果已经通过 Scratch 审核成为 Scratcher,还会出现云端变数的选项 )
- 适用于所有角色:全域变数,所有的角色和舞台都能使用、编辑这个变数。
- 仅适用于当前角色:区域变数,“只有当前角色”能使用、编辑这个变数 ( 在舞台建立变数,没有这个选项 )。
- 云端变数:只能储存数字,针对分享的专案使用,当专案的用户在执行的过程中修改了云端变数 ( 并非程序编辑的修改 ),其他的用户都能看到这个变数被修改了,很常作为游戏里纪录最高分数的机制。
建立变数后,在变数积木的选单里,就会看见建立的变数 ( 并且可以使用 ),同时在舞台的左上方,也会看见预览变数的小方框,该方框可以借由“变数...显示”或“变数...隐藏”积木,来控制是否显示。
举例来说,放入“变数...设为”的积木,将变数设定为 hello 的文字,接着让角色说出变数,执行后角色就会说出 hello 的文字。
如果是“适用于所有角色”的全域变数,执行后有用到这个变数的所有角色都会发生变化,举例来说,建立一个新的企鹅角色,让企鹅说出变数,程序执行后,就会发现企鹅和猫咪都讲出同样的内容。
注意,这个范例程序的企鹅角色,有额外加入“等待 0.1 秒”的机制,因为在执行的当下,企鹅说话的时间比“变数...设为”的时间快,所以如果没有加上等待,可能会发生两者变数不同步的现象。
删除变数
如果要删除或修改变数名称,可以在积木选单的变数积木上方,按下鼠标右键,就会出现修改名称和删除的选单。
改变 / 调整变数
“变数...改变”积木是针对“数值”的内容进行增加或减少的改变,下方的例子的第一组积木,在点击绿旗按钮后,设定变数为 0,并让猫咪说出一开始的变数数值,第二组积木则是在点击猫咪时,让变数内容改变 1,执行后,用鼠标点击猫咪,就会看见变数往上增加。
如果舞台里有显示变数的方框,将鼠标移到方框上按下右键,会出现三个选项,点选“滑杆”,就能直接在舞台上调整变数的数值。
- 一般显示:显示字体较小,同时显示变数名称与内容。
- 大型显示:显示字体较大,只显示变数内容。
- 滑杆:针对“数值”内容调整,选择滑杆后,会额外出现“变更滑杆数值范围”的选项,比较需要注意的,如果变数内容不是数字,使用滑杆之后,会强制从 0 开始。
以刚刚上方的程序为例,如果将变数显示在画面上,透过滑杆调整变数数值,点击猫咪角色时,看到的变数数值就会发生变化。
范例链接:范例 - 点击猫咪改变变数
显示 / 隐藏
“显示 / 隐藏变数积木”可以控制变数是否显示在舞台上。
微信扫码关注
抖音扫码关注