ฟอนต์ฟอรั่ม

F0NT Community (เก่า) => ห้องคอม => ห้องแฟลช => โพสต์ถูกเริ่มโดย: newlife99 เมื่อ 11 ก.พ. 2009, 22:34 น.

ชื่อเรื่อง: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต้องก
โพสต์โดย: newlife99 เมื่อ 11 ก.พ. 2009, 22:34 น.
ผมเขียน actionscript ให้เวลาเอา mouse ไป over แล้วโชว์ mc ที่มีรายละเอียดขอข้อมูลขึ้นมา

แต่ว่าเวลาโชว์อันที่อยู่ไกล้ขอบ stage อะคับ มันจะเลยพื้นที่อออกมาด้วย

เราจะเขียนยังไงให้ mc ตัวที่โชว์มันไม่ออกนอกพื้นที่ที่กำหนดครับ

(http://i20.photobucket.com/albums/b238/Newlife99/out.jpg)

สังเกตมั้ยครับ ผมต้องการให้ mc ที่เป็นสีเทาๆด้านบนนั่น ไม่ออกมาเกินพื้นที่สีฟ้าอ่ะครับ
ปล.พื้นที่สีฟ้านั้นก็เป็น mc เหมือนกันครับ
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: ej_sing เมื่อ 11 ก.พ. 2009, 23:25 น.
 :09: ก็ทำความกว้างของ mc เทาๆ ให้แคบหน่อยให้พอดีกับ mc สีฟ้าสิครับ
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: ไอ้เบิร์ด เมื่อ 11 ก.พ. 2009, 23:27 น.
ไม่แน่ใจนะครับ แต่ลองทำใช้mark ดูสิครับ
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: newlife99 เมื่อ 11 ก.พ. 2009, 23:30 น.
คืองี้ครับ ไอ้ mc เทานั่น มันจะขึ้นมาตอนเอาเม้าส์ไป over พื้นสีเขียวที่มีธงปักอะคับ

แล้วทีนี้ ถ้าไแ over อันที่มันอยู่ริมเนี่ย มันจะเลยครับ

ผมเลยอยากให้ ถ้าไป over อันริม mc สีเทามันจะเด้งเข้ามาอยู่ในพื้นที่สีฟ้าอะคับ ไม่เด้งออกไปข้างนอกอะคับ
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: ej_sing เมื่อ 11 ก.พ. 2009, 23:33 น.
ก็เวลา over อันนั้น
สั่ง mc เทา ให้ไปตำแหน่ง _x , _y ที่ต้องการสิครับ
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: มือหมับหัดไข่ เมื่อ 12 ก.พ. 2009, 22:31 น.
มาเก็บความรู้เพิ่ม  :18:

แต่แล้วเราก็มึนกว่าเดิม ฮ่า ๆ ๆ  :48: :48:
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: poloh เมื่อ 12 ก.พ. 2009, 22:48 น.
ใช้ความกว้าง กับ พิกัดของจุดที่ให้เกิดเข้าช่วยก็ได้ครับ

เช่น ถ้าความกว้างของกล่อง รวมกับ พิกัด มันเลยไปขอบด้านนอก 
ก็ให้พิกัดตัว 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;
}


อันนี้เขียนเป็นแนวทางเฉยๆนะครับ ลองไปประยุกต์ดูครับ
ชื่อเรื่อง: ตอบ: ทำให้ mc ไม่แสดงผลนอกพื้นที่ที่ต
โพสต์โดย: ej_sing เมื่อ 13 ก.พ. 2009, 23:48 น.

เอาง่ายๆที่สุดก็ ลากในพื้นที่จำกัดครับ

อ้างอิงmc.startDrag(false,0,0,Stage.width-mc._width,Stage.height-mc._height)

เพิ่งมั่วเมื่อกี้เลย  :54:

//  :03: อ้าวถาม on over นี่นา มั่วสุดๆเลยผม :05:
งั้นตามที่ poloh บอกครับถูกแล้ว