長方形は要らんかった。書き直す。

1) 高い点低い点の座標を記録する。座標から
   rate = (high_x - low_x)/(low_y - high_y);
  として、坂の傾きを求める。
2) 目標のオブジェクトが坂にぶつかったとき、
   坂のx座標とオブジェクトのx座標から、x軸において坂のどの辺りにいるかを求める。
   1で求めた傾きから、オブジェクトがいる場所の坂の高さを求める。
   オブジェクトyをその坂の高さに乗せてやる。

坂ってのはxが増減するにつれて高さも増減している。
(坂の縦方向に注目する。上り坂の始点にいるときは高さ0、終点に近づくにつれて高さが増える)
で、オブジェクトが坂にいるとき(坂にめりこんでるときも)、そのオブジェクトのx座標においての坂の高さを求める。
そして、求めた坂の高さを使って、坂に乗るようにオブジェクトのyを定める、といった感じ。