You could do something like:
->sprite compare x value= clamp(.x,platform left edge, platform right edge)
->0r
->sprite compare x value= clamp(.x,platform2 left edge, platform2 right edge)
->0r
->sprite compare x value= clamp(.x,platform3 left edge, platform3 right edge)
-->sprite set sprite.x to .x
Edit:
Ok .x just stops it, but you could do a last x using a private variable, or:
+ System: (Sprite2.X) Equal to (clamp(Sprite2.x,Sprite.Left+50,Sprite.Right-50))
-> Sprite2: Normal user input
+ System: Else
-> Sprite2: Inverted user input
.... Kinda works.
+ System: Else
-> Sprite2: Bounce
Works well.