マリオもミッキーも大っっ嫌いだし、
3Dシューティングしか興味のない漏れが、
憶測だけでレスしてみる実験。

色々方法があるんだろうけど、
マリオに重力加速度を適用しておいて

 @ブロックがあったらその上辺に座標を修正

あとこの件ではブロックの上を歩く質問だけど、
歩いていて壁にぶつかった事も考えないとまずい。
≡≡≡≡≡≡≡≡≡
≡≡≡マ壁壁壁壁壁
壁壁壁壁壁壁壁壁壁
@で座標を修正すると高度が上がってしまう場合、
その座標の修正を取りやめて、

 Aブロックがあったら手前の辺に座標を修正

という処理をする必要がある。