在 MIT-Scratch 中克隆精灵

Cloning Sprites in MIT-Scratch

最近,在学校的一个项目中。我遇到了一个越​​来越令人沮丧且似乎无法解决的问题。在尝试创建一个潜水游戏时,潜水员的精灵(精灵 x)接触到鱼精灵(我称为 y)的克隆体以获得高达 25 的分数。虽然潜水员运动的机制似乎完全没问题。但是,加载游戏不会导致鱼及其克隆体做出任何反应。我已经对鱼精灵的克隆进行了编程,使其在触摸精灵 x 时隐藏并删除它们自己。然而,即使在多次尝试重写脚本后,这条鱼仍拒绝克隆自己。我想知道是否有任何我遗漏或搞砸的事情。谢谢你。这些是下面链接中精灵各自脚本的图像。谢谢。

这是你的问题:

WHEN I RECEIVE "start game"
WAIT (2) SECS
REPEAT (25)
   CREATE CLONE OF "myself"
   WAIT (6) SECS
BROADCAST "game over"

您正在开始游戏,等待 2 秒,克隆鱼 25 次,然后结束游戏。

这里至少有一个问题,可能还有另一个。

首先,您要将所有精灵克隆到完全相同的位置。克隆体相互堆叠,看起来就像一条鱼,因为它们都在 完全 相同 space 中。我建议在每个克隆之间的舞台上移动到随机 x 和 y。

其次,您可以立即在那里进行广播 "game over"。如果这是您对游戏实施时间限制的方式,则此方法有效,否则,您只是在最后一条鱼出现后 6 秒结束游戏。

所以,纠正这两件事,你最终会得到这样的结果:

WHEN I RECEIVE "start game"
WAIT (2) SECS
REPEAT (25)
   GO TO X: ([RANDOM PICK (-200) TO (200)]) Y: ([RANDOM PICK (-150) TO (150)])
   CREATE CLONE OF "myself"
   WAIT (6) SECS

如果你想让每条鱼在 6 秒后消失,那么在上面的脚本中添加一个 DELETE THIS CLONE。


您可以删除此脚本:

上面的其他脚本现在涵盖了它,但也有一些错误。现在有点没用了。

并且,在您的另一个脚本中,当绿旗被点击时开始...让鱼在接触潜水员时消失,将“绿旗被点击时”替换为“我作为克隆人开始时”。