Scratch使用变量和列表管理数据。本期教程将为大家讲解什么是变量,如何创建变量,可以用变量做些什么等一系列和变量相关的内容。
一、什么是变量?
- 变量是记录在计算机内存中的可变值。
- 与列表不同,变量一次只能保存一个值。这些值可以是数字或字符串 – 任何文本。
- 单击脚本区域中的单个变量将显示一个小气泡,报告变量的值。
- 与许多其他编程语言不同,Scratch 不允许脚本在运行时创建变量。
- 变量是使用积木指令块区域中的“建立一个变量”按钮创建的。
- 列表允许存储多个值,就像一组变量一样。
上图是一个名为side的变量,它存储的值为50.
二、Scratch中和变量相关的指令块
“我的变量”指令块用于报告变量值
“将我的变量设为”指令块可以用于设置变量值
“将我的变量增加”指令块可以用于改变变量值
“显示变量”在项目启动后显示变量
“隐藏变量”在项目启动后隐藏变量
三、变量类型
Scratch有三种变量类型。所有变量都存储在RAM中,默认是项目的project.json文件中的值。
1、全局变量
默认情况下,创建变量时,它是全局变量。全局变量可以由任何角色/舞台读取和更改。
2、局部变量
局部(或私有)变量的创建方式与全局变量相同,但在变量创建对话框中选择了另一个选项,“仅适用于当前角色”。
局部变量由每个角色独立存储,只能由其所有者更改,但可以使用 侦测 指令区域中的这个指令来读取其他角色的私有变量。
舞台不能有局部变量。
当需要复制和编辑角色的克隆体时,局部变量非常有用。
例如,在必须弹出泡泡的游戏中,应该制作一个“泡泡”精灵,它具有“速度”等私有变量,并且应该独立编程。然后应该复制它,直到有足够的气泡。由于每个气泡都有一个单独的“速度”变量,因此它们不会相互干扰,这与“速度”是全局变量不同。
3、云变量
云变量是存储在 Scratch 服务器上的变量。当云变量更新时,它会在打开的项目的所有实例中更新,并且还会保存以供下次打开项目时使用。云变量的名称旁边有一个小的云图标。在 Scratch 3.0 中,云变量仅支持数值数据,并且全部限制为 256 位,一个项目最多只能容纳 10 个云变量,之后云变量复选框灰显。
四、变量的使用
我们可以使用变量做什么呢?
1、变量在理论上具有无限的用途。最常见的一种是简单地存储值 — 每当必须存储值时,都会使用变量,这只需要“将 () 设置为 ()”。
例如,如果项目要求用户输入名称然后记住该名称,则该名称将存储在变量中。有了这个,可以随时检索名称;项目所要做的就是检查值(即名称)。
2、另一个常见用途是创建高效的脚本。由于变量的值可以更改,因此变量通常用于包含数字或文本输入的块中。
一个常见的例子是速度:下面是动画项目中下落角色的简单脚本。它可以工作,但脚本效率低下,并且需要更多时间来编码:
如果我们使用变量,则脚本可以优化为:
上述两种脚本的结果相同,但是第二种效率更高。因为它使用变量缩短了脚本的长度,在某些情况下产生的延迟也更少。
五、变量的舞台显示器
变量的另一个常见用途是显示 – 由于每个变量都有自己的舞台显示器,因此它使变量显示非常容易。舞台显示器可用于多种用途:
- 显示运行状况
- 显示分数
- 显示关卡完成情况(例如:完成 1/5 个任务)
- 显示时间
- 显示移动速度
- 用于互动游戏的可调变量(使用滑块)
生命值显示非常简单。他们只需要几个步骤:
- 当项目启动时(即单击绿色标志),变量必须设置为最大生命值
- 当玩家受伤时,生命值变量必须减少
- 当玩家被治愈时,生命值变量必须增加
这里有一个简单的脚本来执行这些操作——有许多不同类型的涉及生命值的游戏,所以可能需要根据自己的用途进行更改:
为了让变量显示在舞台上,必须勾选变量积木指令区域中变量前面的选择框:
创建变量时,默认是显示在舞台上的。
显示变量()和隐藏变量()指令块也可用于在脚本中控制变量是否显示。
六、删除和重命名变量
1、如何删除变量?
要删除变量,请右键单击该变量,然后点击删除变量按钮。在移动设备上,按住变量,当该选项出现时,点击删除或单击变量选择下拉列表中的删除。
2、如何修改变量名?
要修改变量名,请右键单击该变量,然后点击修改变量名按钮。在移动设备上,按住变量,当该选项出现时,点击修改变量名或单击变量选择下拉列表中的修改变量名。
叮当学习力:数理逻辑思维课
点图或扫码领0元课
更多课程