If on Edge, Bounce
2.0 If On Edge, Bounce.png
Category Motion
Type Stack

The If on Edge, Bounce block is a Motion Block and a Stack Block. The block checks to see if its sprite is touching the edge of the screen with the move steps block — and if it is, the sprite will point in a direction that mirrors the direction from which it was coming. It uses a line perpendicular to the edge to determine the reflection angle.

Example Uses

  • Preventing a sprite from partially leaving the screen (often, this is followed by the Point in Direction block to stop reflection)
  • Reflection
  • Games such as "Pong"
  • Allowing sprites to bounce off the screen:
when gf clicked
forever
if on edge, bounce
move (10) steps
  • It also works for games such as fish.
when gf clicked
forever
turn cw (pick random (-10) to (10)) degrees
move (3) steps
if on edge, bounce
wait (0.01) secs

Bounce Block

Some users in the suggestions forum have requested for a block to be implemented simply called "bounce", which would allow for sprites to bounce when they collided with other sprites or with colors.[1][2][3]

However, they are often rejected because it is impossible to bounce off a general shape without calculus.[4][5]

References

  1. http://scratch.mit.edu/discuss/topic/38010/
  2. http://scratch.mit.edu/discuss/topic/35247/
  3. http://scratch.mit.edu/discuss/topic/31897/
  4. https://scratch.mit.edu/discuss/topic/38010/?page=1#post-316964
  5. https://scratch.mit.edu/discuss/topic/31897/?page=1#post-556026