文章中のif(left=2) ではなくて if(left==2) かな
動かすオブジェクトとソリッドオブジェクト両方のサイズが32で
あたり判定の座標が左上起点だと仮定して
下方向は+64ではなくて+32なはず