— it only worked in my head..., i can see the problem now its pretty complex, i think the only option is making a custom controller and even then, there's alot of trickery
edit: what if the platformcontroller always stays on the ground platform,
and up and down moves only the sprite visually (2nd controller)
(in line as sman118 suggested)
you would set the x of sprite to the controller, y of sprite is controlled by up and down, until jumping, disable up and down control, back on floor enable up and down, have an upper en lower bound of the y movement
then you would need some trickery to jump to other platforms
the shadow im sure can be arranged once movement is ok