"Switch costume" 不在与其他事物成功触发相同的条件下触发

"Switch costume" not triggering on the same conditions as other things successfully trigger

我正在学习 C、SQL 等方面的进修课程,一项介绍性作业要求我们使用 Scratch,我对此并不熟悉。简而言之,我正在制作一个“游戏”,其中一只蝙蝠半随机地在屏幕上弹跳,弹开可以通过点击它们移动的球,并试图获得一个苹果。当蝙蝠和苹果接触时(即为了我的目的,当蝙蝠与苹果的距离 < 50 时)蝙蝠会进行胜利“动画”。此外,我对苹果进行了编码,当它与蝙蝠的距离 < 50 时将服装切换为吃了一半的版本。但是,即使蝙蝠的程序 运行 正确,苹果也不会这样做。更奇怪的是,如果我在程序完成后重新运行,苹果可能会以它被吃掉一半的服装开始。

我试过:

Code for the bat

Code for the apple

如果我没记错的话,在 Scratch 上无法切换到“高级”模式,在那里我可以看到引擎盖下的代码;否则,根据我以前的经验,我会更愿意从那里解决问题。如果我缺少这样的功能,请告诉我,因为我很可能能够通过这种方式解决问题。谢谢!

当您点击绿旗时,您的苹果代码只运行一次。你必须让它 运行 在一个循环中,不断检查它的距离,以便更新它(最好暂停 in-between 每次循环迭代,这样它就不会检查得太频繁)。苹果有时以 half-eaten 开始的原因是因为在点击标志时它恰好距离蝙蝠 < 50 个单位。