我在Scratch中创建了一个落雪背景,并偶然发现了以下代码:
然后我读了关于克隆精灵的维基,并且对这句话感到难过:
每个克隆的所有精灵的变量都是相同的,但每个克隆的精灵变量只有不同。
问题:
在我的点击块中,我创建了一个自己的克隆。克隆和在点击块时共享变量 y pos 但它们似乎独立地(因此在oops术语中)一个类型为'this'的变量,即一个单独的变量仅为克隆对象实例化。我不能用勾号显示它,所以我假设它是克隆本地的?
或 y pos 全局(类变量)?我猜测后者,但上面的句子没有帮助。
答案 0 :(得分:1)
为了使其正常工作,变量ypos必须是本地的(仅适用于此Sprite),否则两者会相互干扰。
答案 1 :(得分:1)
Scratch中的局部变量也是每个克隆中的单独实例。全局变量只存在一次,并且对于所有对象都是相同的。 Scratch没有类变量,它们将在同一对象的克隆之间共享。
答案 2 :(得分:0)
变量辅助功能将根据您创建它的方式而有所不同。当您在变量菜单中创建变量时(即您选择名称的位置),它将询问您是否希望变量可由"所有精灵"或者"只是这一个"。如果你选择"所有的精灵,"变量将被创建为全局变量,并且所有精灵都可以访问(并且可以更改)。如果您选择"只是这个,"它应该被创建一个局部变量,并且只能由每个sprite单独访问。
希望我能帮到你。 -GreenHawk1220