划痕精灵没有始终如一地记录命中

scratch sprite not registering hit consistently

这个简单的射击游戏应该会导致 sprite 在被击中时破碎并消失。它可能会在 40% 的时间内工作。这是项目的 link 和相关代码块:

https://scratch.mit.edu/projects/524150880/editor

如果你打算制作一款射击游戏,你可能想使用 create clone of [myself] 块,然后执行以下操作:
when i start as a clone
show
repeat until < <touching [YOUR TARGET SPRITE HERE]> or <touching [edge]> >
|| point in direction (DIRECTION OF YOUR SHOOTER)
|| move (ADD YOUR NUMBER HERE)
start sound (meow)
change [score] by (1)
repeat (5)
|| change [mosaic] effect by (2)
delete this clone

对于子弹,你需要这个脚本:
when green flag clicked
forever
if <key [ANY KEY YOU WOULD LIKE TO USE TO SHOOT] pressed> then
|| create clone of myself

然而,如果你想为子弹添加冷却时间,创建一个名为 cooldown 的新变量并每毫秒(0.1 秒)将其减少 0.1,但请确保当冷却时间为 0 时不会进入底片,当冷却时间为 0 时,你可以射击并将冷却时间重置为你想要的秒数,如果你想要它,你的代码应该如下所示:

when green flag clicked
forever
if <key [ANY KEY YOU WOULD LIKE TO USE TO SHOOT] pressed> then
|| if cooldown < 0.1
|| || create clone of myself

它是 || if cooldown < 0.1 而不是 || if cooldown = 0 的原因是如果你搞砸了并且不小心把它变成 4.25 而不是 4.2 子弹仍然会射

事实证明,通过简化精灵的动作:

至:

已解决问题。精灵在被击中时会不断分解并消失。所以我猜这只是精简的问题?