จะทำยังไงดี คงเป็นคำถามแรกหากใครได้ทำงานด้วย ActionScript 3.0 แล้วเกิดเหตุการณ์ว่า ไม่สามารถคลิกปุ่ม ซึ่งอยู่ใต้วัตถุอื่นๆได้
ในการทำงานบางครั้ง แน่นอนว่าเราอาจจะต้องมีการวางวัตถุ ที่อาจจะมีพื้นที่โปร่งใส เช่นภาพ PNG และหากว่าวัตถุชิ้นนั้นถูกวางอบู่บนปุ่มด้วยแล้วหละก็ จะทำให้เราไม่สามารถคลิกปุ่มใต้วัตถุนั้นได้เลย หรือบางทีก็ไปทับบางส่วน ทำให้คลิกปุ่มนั้นได้แค่ครึ่งเดียวเท่านั้นเอง
จะทำยังไงดีหละทีนี้ …. มีคำตอบครับ ด้วยคำสั่งง่ายๆคือการใช้งาน property ที่ชื่อว่า mouseEnabled ครับ โดยเราสามารถกำหนดค่าให้กับ property ตัวนี้เป็นค่า Boolean หรือ true/false นั่นเอง
ง่ายๆใช่ไหมครับ ซึ่งใครเขียนโค้ดมาจนชินแล้วคงนึกภาพโค้ดกันออกแล้ว ส่วนใครยังนึกไม่ออก ก็ไม่กั๊กครับ ข้างล่างนี่เลย
mc.mouseEnabled = true; mc.mouseEnabled = false;
ง่ายๆใช่ไหมครับ
สำหรับถ้าเราตั้งค่าให้เป็น true แปลว่าเราต้องการให้วัตถุชิ้นนั้น มีปฏิกิริยากับเมาส์
จะทำให้เราไม่สามารถคลิกวัตถุที่อยู่ข้างใต้มันได้
และหากว่าเราตั้งค่าเป็น false หมายความว่า เราจะไม่ให้มันทำอะไรกับเมาส์เลย เราก็จะคลิกวัตถุข้างใต้มันได้นั่นเองครับ
ผมก็ได้ลองทำตัวอย่างมาให้ทดสอบดูด้วยด้านล่าง
ทดลองคลิกปุ่มข้างใต้มัน และทดลองเซ็ทค่า mouseEnabled ครับ
ดาวน์โหลดโค้ดได้ที่ http://www.howdoflash.net/share/buttonOverlab.fla
