[UNITY][NGUI]ปัญหาที่พบบ่อย, สาเหตุ และวิธีแก้ by tosawat
Jul0
ปัญหา – สร้างปุ่มขึ้นมาปุ่มหนึ่ง พอกด Play ทีไร ปุ่มนี้ก็กลายเป็น Disable ไปซะทุกที??
สาเหตุ – Script UIButton ของ NGUI นั้น จะเช็คเสมอว่า Object ที่เรา AddComponent UIButton เข้าไปนั้น มี Collider อยู่รึเปล่า ถ้าไม่มี Script UIButton ก็จะ Disable ปุ่มนั้นอัตโนมัติเลยล่ะ
วิธีแก้ – ก็แค่ Add Collider ให้ปุ่มซะก็จบแล้วครัช
ปัญหา – อยากเรียงลำดับ Panel ที่จะ Instantiate ขึ้นมาใหม่แต่ ตอนรับข้อมูลมานั้น มันมาแบบ ไม่เรียงมาให้ แล้วแต่อารมณ์
วิธีแก้ – ให้ตั้งค่า depth ของ Panel ที่อยากให้แสดงก่อนมีค่ามากกว่า แล้ว Instantiate ขึ้นมาพร้อมๆกันไปแล้ว ทีนี้ จะสร้างอันไหนก่อนหลังก็ไม่สำคัญ เพราะว่าอันที่มี depth มากกว่า จะอยู่ข้างบนเสมอ แล้วพอเรา Hide หรือ Destroy อันที่อยู่ข้างบน เราก็จะเห็นอันถัดมาเรื่อยๆๆๆ นั้นเอง
ปัญหา – เขียน Method Awake หรือ Start ขึ้นมา Method พวกนี้ดันไม่ทำงานตอนเริ่มแรก แต่ดันมาทำงานตอนกลางๆ หรือตอนที่เรา Enable มันขึ้นมาซะงั้น (นี่ Method Awake นะว้อยไม่ใช่ OnEnable)
สาเหตุ – ที่ Method Awake หรือ Start มันไม่ทำงานตอนเรื่มแรกนั้นก็เพราะว่า เรา Disable มันไว้ตั้งแต่แรกกกก ก่อนที่จะ Play ซะอีกน่ะสิ
วิธีแก้ – ก็ให้ Enable มันไว้ซะ แต่ถ้าหากเริ่มมาอยากให้มัน Disable ไว้แล้วค่อยไปเรียกใช้ทีหลังล่ะก็ ก่อนไปเขียน Code ให้มัน Disable เอาตอนท้ายของ Method Start เอาละกัน มันจะได้ทำ Awake และ Start ให้เสร็จก่อนนะจ้าา
Enjoy this article?
Consider subscribing to our RSS feed!
ไม่มีความเห็น
ยังไม่มีความเห็น