I really can't understand what you intended to do with this:
Sprite: [negated] Sprite: overlaps obj : offset (0,0)
-> Sprite: Set X to Sprite.x - (120 * TimeDelta)
+ Sprite: [negated] Sprite: overlaps obj : offset (0,0)
-> Sprite: Set X to Sprite.x + (120 * TimeDelta)
+ Sprite: [negated] Sprite: overlaps obj : offset (0,0)
-> Sprite: Set Y to Sprite.y - (120 * TimeDelta)
+ Sprite: [negated] Sprite: overlaps obj : offset (0,0)
-> Sprite: Set Y to Sprite.y + (120 * TimeDelta)
In these conditions you set the Sprite object to move equally to right, left,top and down. Of course nothing will happen...
For the collision problem you have to use "For Loop" and make like this:
Sprite is moving
+ For 0 to ceil(120*TimeDelta)-1
+ If Sprite is moving right
+ [negated]Sprite is overlapping at offset ((ceil(120*TimeDelta)-LoopIndex),0)
-> Sprite move (120*TimeDelta)-LoopIndex at 0 Degrees
-> Break
+ If Sprite is moving top
+ [negated]Sprite is overlapping at offset (0,((ceil(120*TimeDelta)-LoopIndex)*-1))
-> Sprite move (120*TimeDelta)-LoopIndex at 270 Degrees
-> Break
+ If Sprite is moving Down
....
+ If Sprite is moving Left
....
Do it to the four sides.
To make conditions for diagonal angles is a bit more complex.