克隆的Scratch精灵中的变量 - 全局还是本地?

时间:2016-04-26 19:39:01

标签: mit-scratch

我在Scratch中创建了一个落雪背景,并偶然发现了以下代码:

enter image description here

然后我读了关于克隆精灵的维基,并且对这句话感到难过:

每个克隆的所有精灵的变量都是相同的,但每个克隆的精灵变量只有不同。

问题:

在我的点击块中,我创建了一个自己的克隆。克隆和在点击块时共享变量 y pos 但它们似乎独立地(因此在oops术语中)一个类型为'this'的变量,即一个单独的变量仅为克隆对象实例化。我不能用勾号显示它,所以我假设它是克隆本地的?

y pos 全局(类变量)?我猜测后者,但上面的句子没有帮助。

3 个答案:

答案 0 :(得分:1)

为了使其正常工作,变量ypos必须是本地的(仅适用于此Sprite),否则两者会相互干扰。

答案 1 :(得分:1)

Scratch中的局部变量也是每个克隆中的单独实例。全局变量只存在一次,并且对于所有对象都是相同的。 Scratch没有类变量,它们将在同一对象的克隆之间共享。

答案 2 :(得分:0)

变量辅助功能将根据您创建它的方式而有所不同。当您在变量菜单中创建变量时(即您选择名称的位置),它将询问您是否希望变量可由"所有精灵"或者"只是这一个"。如果你选择"所有的精灵,"变量将被创建为全局变量,并且所有精灵都可以访问(并且可以更改)。如果您选择"只是这个,"它应该被创建一个局部变量,并且只能由每个sprite单独访问。

希望我能帮到你。 -GreenHawk1220