This would do it. Note the tab means it's a sub-event.
repeat distance(sprite.x,sprite.y,mouse.x,mouse.y) times
--- sprite: move 1 pixel at angle(sprite.x,sprite.y,mouse.x,mouse.y) degrees
sprite: overlaps wall
--- stop loop
--- sprite: move -1 pixel at angle(sprite.x,sprite.y,mouse.x,mouse.y) degrees[/code:1l6cma2z]
Edit:
Opps, that will do it instantly
You can make it move gradually, say 100 pixels per second, with the following:
[code:1l6cma2z]repeat min(distance(sprite.x,sprite.y,mouse.x,mouse.y), 100*dt) times
--- sprite: move 1 pixel at angle(sprite.x,sprite.y,mouse.x,mouse.y) degrees
sprite: overlaps wall
--- stop loop
--- sprite: move -1 pixel at angle(sprite.x,sprite.y,mouse.x,mouse.y) degrees[/code:1l6cma2z]