MIT-Scratch:顺序克隆,没有延迟

时间:2017-11-30 02:38:11

标签: mit-scratch

我刚开始玩这个作为一个年轻人的教育工具,并在尝试克隆精灵时遇到奇怪的行为。

我在sprite_1中为位置x,y设置了一个全局变量,并克隆了一个sprite_2对象。该对象立即将全局x,y复制到本地x,y并退出。后来的sprite_2渲染使用存储的本地x,y。

sprite_1:

enter image description here

sprite_2:

enter image description here

根据这个可重复使用的小例子,我希望四个精灵在屏幕上对角地向上/向右克隆。相反,我似乎将四个sprite_2对象全部放在一起:

enter image description here

如果我在克隆(x,y)函数的末尾添加1秒的延迟,那么一切都很好:

enter image description here

enter image description here

由于所有四个sprite_2对象似乎都是放置最后一个克隆的位置,我怀疑克隆不是立即创建的,而是在某个时刻同时创建为批处理,因此都是最后一个坐标来自全球_clone_enemy_x / y。

是这样的吗?是否有办法规避这种行为或解决方案是什么?

1 个答案:

答案 0 :(得分:0)

我有两个可能的解决方案来解决这个问题:

  1. 转到"定义clone()()"阻止,右键单击它,打开高级下拉列表,然后勾选"在没有屏幕刷新的情况下运行"。
  2. 一起摆脱自定义块,但在实际代码中使用该块的原始源。
  3. 我希望这有帮助!