This is a simple example illustrating the implications of checking the "Run without screen refresh" option when creating a custom block (My blocks). This option is often used in Pen projects, to be able to move the sprite around to draw things in a single frame (screen update), but is very useful in non-Pen projects as well. In this example: Click and drag to lift one of the cats, then release to see the difference in their landing (collision control with the Ground sprite). See inside for commented code, by me (@kriblo). This example uses the Ground sprite, and two nearly identical sprites. The ONLY difference between them, is that the custom block in the WITHOUT sprite, have the "Run without screen refresh" option checked. WITHOUT screen refresh (see sprite inside) When the mouse is released, the cat will fall, faster and faster, because "fall speed" becomes more and more negative (-1 each time this block is called). "y position" is changed by "fall speed", moving the cat down (falling) because "fall speed" is negative. Eventually, the cat will touch (or overlap) the "ground" sprite. When it does, a loop is run where the cat is moved upwards, until it is "not touching Ground". In this sprite, this is done WITHOUT refreshing the screen, meaning the cat might move 20 times (20 steps or pixels) before the screen is updated. Thus, the user will never see the cat touching the ground, only landing and standing on top of it. WITH screen refresh When the mouse is released, the cat will fall, faster and faster, because "fall speed" becomes more and more negative (-1 each time this block is called). "y position" is changed by "fall speed", moving the cat down (falling) because "fall speed" is negative. Eventually, the cat will touch (or overlap) the "ground" sprite. When it does, a loop is run where the cat is moved upwards, until it is "not touching Ground". In this sprite, this is done WITH refreshing the screen, meaning this loop will run once in each frame (30 frames per second in Scratch). That is, the cat will move 1 pixel upwards, then the screen is refreshed. Then the cat will move another step upwards, and so on until the cat is not touching ground. Only then will the code in the main forever loop continue. Thus, the user will see the cat fall, overlap the ground as it lands, then slowly move upwards to stand on the ground.