变量,是程序的一种数据结构,是用于存储计算结果或能够表达数据的一种方式。在Scratch程序中,变量的通用用法:在程序开始时给变量赋初始值,在程序运行中对变量进行各种计算,这与C/Python等其它开发语言无异。
如下表达了从1加到10的计算,i和sum都是定义的变量。
在新建变量的时候,会要求选择适用于角色:适用于当前和适用于所有。其实Scratch是相对简单的软件开发工具,这里的适用角色从本质来说,就是变量的作用域。即变量是公有和私有,等同于其它开发语言里的public和private关键字。
两者的区别就是:如果定义了适用所有角色,那么这个变量对所有角色都可用;如果定义了适用当前角色,则该变量仅适用于当前角色。
还以上面从1加到10的例子举例。如果我有两个角色:小猫和小狗。如果变量是公有的,则小猫和小狗都可用i和sum;如果变量只是适用于小猫,那么就只有小猫能用到这两个变量。
在做一个打开礼物的这个例子。小猫打开礼物,里面冒出很多个苹果。这个案例的核心,在于克隆的使用以及抛物线。当克隆体启动时,蓝莓需要向上/左上/右上三个方向抛出,也就是蓝莓的克隆体要向x和y两个方向做运动。我们不妨就定义两个变量vx和vy,让蓝莓克隆体按照vx和vy做运动。
那么,vx和vy这两个变量很显然,是私有变量更合适。因为它只针对某一个克隆体。如果定义为公有变量,可以能想象到结果:即是前一个克隆体运动的vx和vy,会影响到后面的克隆体。
附上代码,学生和老师可以实验一下。
你好呀!我按你的代码编程无法得到一样的效果,可以帮忙解答一下吗?