Дракон, делать пример у меня времени нет (я болею, поэтому много за компом не сижу), так что приведу принцип обхождения без глючной гравитации GM. Вот картинка, как это устроено: Все эти палки - это разные объекты (ну правый и левый можно одарить одинаковыми спрайтами, как и верхний и нижний), в collision у героя (человечка в центре) с препятствиями ничего не ставишь, все обработки будут ложиться на эти "стенки", которые ты должен сделать не видимыми (убери галочку с пункта "visible"). Так вот и поставь левой стенке на collision с препятствием:
Code
with other { hero.x=x+sprite_width/2 }
Думаю, ты понял логику, далее пропиши это всем стенкам. А сами стенки прикрепи к герою - пропиши левой стенке в step:
Code
x=hero.x-hero.sprite_width/2
Опять-таки думаю, ты понял логику, пропиши аналогичные записи для др. стенок и всё будет ОК. Обойдёшься без gravity.