as for the pan, i implemented something like that into a demo
its really cool way of showing level like you said
demo
its implemented like this (where scrollstart is a sprite)
scrollstart.X < 2000 | scrollstart.X+8 + set globalvar scroll=1
system globalvar scroll=1 |
system scroll to
lerp(scrollx, scrollstart.X, 1*dt)
lerp(scrolly, scrollstart.Y, 1*dt)
after that you can set globalvar scroll to 0 and scroll to player instead