วิธีทำให้ปุ่มกดไม่ได้โดยที่ไม่เปลี่ยน Sprite เป็น Disabled by

29
Sep
0

จากบนลงล่าง กดได้ / กดไม่ได้ / กดไม่ได้

จากรูปด้านบน ปกติแล้วปุ่ม UI Button จะมีอยู่ 3 State คือ Normal / Pressed / Disabled ทีนี้ปุ่มที่โชว์ขณะไม่มีแอคชั่นใดๆก็จะมองเห็นได้อยู่สองแบบคือ Normal กับ Disabled แต่โจทย์คือเราอยากได้แบบที่ 3 คือดูเหมือนปุ่มกดได้ (Normal) แต่ว่าจริงๆแล้วกดไม่ได้ เลยมีวิธีแก้โดยใช้โค๊ดดังนี้ฮะ

Set Sprite ไว้ตามปกติ สีขาว Normal / สีแดง Disabled


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

30
Apr
0

ถึงแม้วันนี้ 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

31
Oct
0

โดยปกติแล้วถ้าเราสร้างปุ่มขึ้นมาใน Flash แล้วต้องการให้มันมีตัวหนังสือ (label) เราก็จะสร้าง text field ไว้ในปุ่มนั้นๆเลย ทีนี้ปัญหามันอยู่ที่ว่า ถ้าเรา import ไปใช้กับ Flex แล้วเราจะไม่สามารถอ้างอิงถึง property ที่เป็น Text Field นี้ที่อยู่ใน button ได้ เช่น

text_button.txtOnButton.text = “change”; แบบนี้จะทำให้เกิด Error ได้ จึงมีวิธีมานำเสนอครับ

การสร้างปุ่มที่ใส่ text field ไว้ด้านในแบบทั่วไป ซึ่ง refer ถึง text field ไม่ได้

การสร้างปุ่มที่ใส่ Text Field ไว้ด้านในแบบทั่วไป ซึ่ง refer ถึง Text Field ไม่ได้

เนื่องจากปุ่มเป็น Button จึงเข้าถึงส่วนต่างๆข้างในด้วยโค้ดไม่ได้

เนื่องจากปุ่มเป็น Button จึงเข้าถึงส่วนต่างๆข้างในด้วยโค้ดไม่ได้

เมื่อรันใช้ได้ปกติ

เมื่อรันใช้ได้ปกติ

วิธีแก้ขั้นแรกให้เรา Cut ตัว Text Field ที่อยู่ในปุ่มออกมาก่อนแล้ว New Symbol (Ctrl + F8) แล้วให้เลือกเป็น Movie Clip (ไม่ใช่ Button) จากนั้นก็นำ Text Field ก่อนหน้ามาวาง เท่านี้เราก็สามารถเข้าถึงตัว Text Field จากสคริปได้แล้วล่ะครับ เช่น mcButton.txtOnButton.text = “change”;

ให้เรา cut text field ออกไปก่อน

ให้เรา cut Text Field ออกไปก่อน

นำปุ่มเปล่ามาใส่ใน Symbol พร้อมกับ text field ก่อนหน้ามาใส่

นำปุ่มเปล่ามาใส่ใน Movie clip พร้อมกับ Text Field ก่อนหน้ามาใส่

แต่! มันจะมีปัญหาคือตัว Text Field จะบังตัวปุ่มทำให้เวลาชี้ในระยะกล่อง Text Field มันจะถือว่าไม่ได้ Hover ปุ่มอยู่เลย วิธีแก้ก็คือเขียนสคริปตั้ง Property mouseEnabled ให้เป็น  false สำหรับ Text Field ครับ เท่านี้ก็ใช้งานได้ปกติแล้วล่ะครับ

เวลาชี้แถวตัว text ปุ่มจะไม่ขยายและ cursor ไม่เปลี่ยนเป็นรูปมือ

เวลาชี้แถวตัว text ปุ่มจะไม่ขยายและ cursor ไม่เปลี่ยนเป็นรูปมือ

ใส่ ActionScript ตั้งค่า Property ของ text field เรา mouseEnabled = false;

ใส่ ActionScript ตั้งค่า Property ของ Text Field เรา mouseEnabled = false;

เมื่อรันใช้ได้ปกติ

กลับไปเป็นรูปมือดังเคย

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน