ใช้ความกว้าง กับ พิกัดของจุดที่ให้เกิดเข้าช่วยก็ได้ครับ
เช่น ถ้าความกว้างของกล่อง รวมกับ พิกัด มันเลยไปขอบด้านนอก
ก็ให้พิกัดตัว box หดเข้ามา
ตัวอย่างโดยประมาณ กรณีีเลยขอบมันเท่ากับ 300 แล้วให้มันหดเ้ข้ามาในกรอบ
if(box.width + box.x > 300){
box.x = 300 - box.width;
}
ตัวอย่างโดยประมาณ กรณีีเลยขอบมันเท่ากับ 300 แล้วให้มันย้ายไปด้านซ้าย(ต้องมั่นใจนะว่าถ้าไปด้านซ้ายมันจะไม่เกิน)
if(box.width + box.x > 300){
box.x = box.x - box.width;
}
อันนี้เขียนเป็นแนวทางเฉยๆนะครับ ลองไปประยุกต์ดูครับ