วิธีทำให้ปุ่มกดไม่ได้โดยที่ไม่เปลี่ยน Sprite เป็น Disabled by Ziah
Sep0
จากรูปด้านบน ปกติแล้วปุ่ม UI Button จะมีอยู่ 3 State คือ Normal / Pressed / Disabled ทีนี้ปุ่มที่โชว์ขณะไม่มีแอคชั่นใดๆก็จะมองเห็นได้อยู่สองแบบคือ Normal กับ Disabled แต่โจทย์คือเราอยากได้แบบที่ 3 คือดูเหมือนปุ่มกดได้ (Normal) แต่ว่าจริงๆแล้วกดไม่ได้ เลยมีวิธีแก้โดยใช้โค๊ดดังนี้ฮะ
if (isLock) //ถ้าล็อค
{
buttonTrans.GetComponent<BoxCollider>().enabled = false; //ปิด BoxCollider
button.enabled = false; //Disable ตัวปุ่มไป โดยจะไม่ใช่ .isEnable ที่จะทำให้ปุ่มนั้นเปลี่ยน state เป็น Disabled
}
else //ถ้าปกติ
{
button.isEnabled = true; //เปลี่ยนกลับเป็น Normal
button.enabled = true; //Enable ตัวปุ่ม
buttonTrans.GetComponent<BoxCollider>().enabled = true; //เปิด BoxCollider
}
ตามโค๊ดด้านบนถ้าเรียง Order ผิดก็จะแสดงผลผิดได้ เพราะแค่ Hover ปุ่มก็จะทำการเช็ค State แล้ว แต่ Order ด้านบนสามารถทำให้ได้ผลลัพธ์ตรงตามความต้องการครับ
สร้างปุ่มกระจกใสกิ้ง(Photoshop) by akara
Apr0
ถึงแม้วันนี้ Trend design user interface จะเป็นแบบ Flat แต่เราก็จะทำ How to ปุ่มแบบนี้อยู่ดี วะฮ่าๆๆๆ
1.สร้างสี่เหลี่ยมหน้าโง่ขึ้นมา 1 อัน แล้ว copy layer ออกมาเป็นสองอัน โดยด่วน
2.ปรับ blending option ของ layer บน (คลิกขวาที่ layer)
ไม่ต้องคิดไรมากปรับค่าตามภาพต่อไปนี้
จะได้ภาพออกมาเป็นแบบนี้ Layer นี้เราใช้ในการทำให้แสงเงาขอบต่างๆดูเป็นกระจกใสๆ นะจ้ะเด็กๆ
3.ปรับ blending option ของ layer ล่าง เพื่อใส่สีให้ปุ่ม
จะได้ปุ่มออกมาหน้าตาแบบนี้
4.ยังๆ แต่เรายังไม่พอแค่นี้ มันยังไม่ใสกิ้งๆ new layer ขึ้นมาอีกอันก่อน
สร้าง selection ที่ปุ่ม แล้วใช้ gradient tool สีขาว แบบ linear ลากสีซ้ายบน กับ ขวาล่างซะ
เท่านี้ก็เสร็จเรียบร้อย ถ้าอยากปรับสีก็ไปปรับที่ blending option ของ layer ซะ
จบจ้ะ
วิธีทำให้ TextField ใน Flash สามารถแก้ไขข้อมูลโดย Flex ได้ (พร้อมทิป) by Ziah
Oct0
โดยปกติแล้วถ้าเราสร้างปุ่มขึ้นมาใน Flash แล้วต้องการให้มันมีตัวหนังสือ (label) เราก็จะสร้าง text field ไว้ในปุ่มนั้นๆเลย ทีนี้ปัญหามันอยู่ที่ว่า ถ้าเรา import ไปใช้กับ Flex แล้วเราจะไม่สามารถอ้างอิงถึง property ที่เป็น Text Field นี้ที่อยู่ใน button ได้ เช่น
text_button.txtOnButton.text = “change”; แบบนี้จะทำให้เกิด Error ได้ จึงมีวิธีมานำเสนอครับ
วิธีแก้ขั้นแรกให้เรา Cut ตัว Text Field ที่อยู่ในปุ่มออกมาก่อนแล้ว New Symbol (Ctrl + F8) แล้วให้เลือกเป็น Movie Clip (ไม่ใช่ Button) จากนั้นก็นำ Text Field ก่อนหน้ามาวาง เท่านี้เราก็สามารถเข้าถึงตัว Text Field จากสคริปได้แล้วล่ะครับ เช่น mcButton.txtOnButton.text = “change”;
แต่! มันจะมีปัญหาคือตัว Text Field จะบังตัวปุ่มทำให้เวลาชี้ในระยะกล่อง Text Field มันจะถือว่าไม่ได้ Hover ปุ่มอยู่เลย วิธีแก้ก็คือเขียนสคริปตั้ง Property mouseEnabled ให้เป็น false สำหรับ Text Field ครับ เท่านี้ก็ใช้งานได้ปกติแล้วล่ะครับ
Who are we?
Contact Us
หมวดหมู่
ป้ายกำกับ
บันทึกเก่า
- พฤษภาคม 2017
- กุมภาพันธ์ 2017
- มกราคม 2017
- ธันวาคม 2016
- พฤศจิกายน 2016
- ตุลาคม 2016
- กันยายน 2016
- สิงหาคม 2016
- กรกฎาคม 2016
- มิถุนายน 2016
- พฤษภาคม 2016
- เมษายน 2016
- มีนาคม 2016
- กุมภาพันธ์ 2016
- มกราคม 2016
- ธันวาคม 2015
- พฤศจิกายน 2015
- ตุลาคม 2015
- กันยายน 2015
- สิงหาคม 2015
- กรกฎาคม 2015
- มิถุนายน 2015
- พฤษภาคม 2015
- เมษายน 2015
- มีนาคม 2015
- กุมภาพันธ์ 2015
- มกราคม 2015
- ธันวาคม 2014
- พฤศจิกายน 2014
- ตุลาคม 2014
- กันยายน 2014
- สิงหาคม 2014
- กรกฎาคม 2014
- มิถุนายน 2014
- พฤษภาคม 2014
- เมษายน 2014
- มีนาคม 2014
- กุมภาพันธ์ 2014
- มกราคม 2014
- ธันวาคม 2013
- พฤศจิกายน 2013
- ตุลาคม 2013
- กันยายน 2013
- สิงหาคม 2013
- กรกฎาคม 2013
- มิถุนายน 2013
- พฤษภาคม 2013
- เมษายน 2013
- มีนาคม 2013
- กุมภาพันธ์ 2013
- มกราคม 2013
- ธันวาคม 2012
- พฤศจิกายน 2012
- ตุลาคม 2012
- กันยายน 2012
- สิงหาคม 2012
- กรกฎาคม 2012
- มิถุนายน 2012
- พฤษภาคม 2012
- เมษายน 2012
- มีนาคม 2012
- กุมภาพันธ์ 2012
- มกราคม 2012
- ธันวาคม 2011
- พฤศจิกายน 2011
- ตุลาคม 2011
- กันยายน 2011
- กรกฎาคม 2011
- มิถุนายน 2011
- พฤษภาคม 2011
- เมษายน 2011
- มีนาคม 2011
- กุมภาพันธ์ 2011
- มกราคม 2011
- ธันวาคม 2010
- พฤศจิกายน 2010
- ตุลาคม 2010
- กันยายน 2010
- สิงหาคม 2010
- กรกฎาคม 2010
- มิถุนายน 2010
- พฤษภาคม 2010
- เมษายน 2010
- มีนาคม 2010
- กุมภาพันธ์ 2010
- มกราคม 2010
- ธันวาคม 2009
- พฤศจิกายน 2009
- ตุลาคม 2009
- กันยายน 2009
- สิงหาคม 2009
- กรกฎาคม 2009
- มิถุนายน 2009
- พฤษภาคม 2009
- มีนาคม 2009