I'd use platform and rts behavior
here's quick example
It doesn't look nice, but you can see, it works. You would just need to use conditions and actions to set jump height, speed, direction...
edit: animations could be controled via play, stop animation and set frame actions, with a checker to know how far is ground, wall etc.