Código
Eso será rect2.top, no .left.
if(rec.getPosition().y>=rect2.left)
De cualquier forma, es emétodo lo que hace es corregir progresivamente la superposición de los rectángulos. Una colisión es una colisión.
Una opción, es, en el código de movimiento, tras moverse, comprobar con intersecs(). En caso verdadero, deshaces el movimiento. Es una forma muy simple, pero efectiva en casos también simples.