From Test-Scratch-Wiki

Translate: - English - 中文 
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 is 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 (5) steps
  • It also works for games such as Fish.
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.

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/