minやmaxに画面の端の座標が取得できてるか
if (X < min.x || max.x < X)の判定式を書き間違いしてないか
これ以上の推測はエスパーでないと無理かも