Как реализовать притяжение (гравитацию) к земле,при условии что ты не на объекте стоишь?
гм, в физических движках это делается примерно так - есть динамический объект, на него действуют заданные силы например гравитация, действуют всегда. И есть статические объекты на которые эти силы не действуют. Плюс специальное свойство типа collision то есть взаимодействия с другими объектами. Отталкивать их, просто не пропускать и тп.  Так что в твоем случае камни земля и прочее что не должно двигаться это статические объекты с коллизией а марио это динамический объект на который действует сила гравитации и других перемещений.
Добавляй состояние в духе
onLand = true||false
для Марио