Unity - ปุ่ม
ในบทนี้เราจะได้รับวิธีการแทรกองค์ประกอบ UI ในฉากของเราและดำเนินการกับองค์ประกอบเหล่านี้
ให้เราเริ่มต้นด้วย Button. หากต้องการแทรกปุ่มให้คลิกขวาในลำดับชั้นของฉากแล้วไปที่Create → UI → Button. หากคุณไม่มี Canvas และ EventSystem ที่มีอยู่ Unity จะสร้างให้คุณโดยอัตโนมัติและวางปุ่มไว้ใน Canvas ด้วยเช่นกัน
จำไว้ว่าใน Overlayโหมดการแสดงผลซึ่งเป็นโหมดเริ่มต้นขนาดของ Canvas จะไม่ขึ้นอยู่กับขนาดของกล้อง คุณสามารถทดสอบได้โดยคลิกที่ไฟล์Game แท็บ
หากคุณเล่นฉากคุณจะสังเกตเห็นว่าปุ่มมีฟังก์ชันมาตรฐานบางอย่างอยู่แล้วเช่นการตรวจจับเมื่อเมาส์วางเมาส์เหนือปุ่มนั้นและเปลี่ยนสีเมื่อกด
ปุ่มต้องการฟังก์ชันจึงจะมีประโยชน์ใน UI ฟังก์ชันนี้สามารถเพิ่มได้ผ่านคุณสมบัติ
ให้เราสร้างสคริปต์ใหม่และเรียกมัน ButtonBehaviour.
public class ButtonBehaviour : MonoBehaviour {
int n;
public void OnButtonPress(){
n++;
Debug.Log("Button clicked " + n + " times.");
}
}
เราได้ทำวิธีง่ายๆที่บันทึกว่าเรากดปุ่มไปแล้วกี่ครั้ง
Note- วิธีนี้ต้องเปิดเผยต่อสาธารณะ จะไม่สังเกตเห็นการทำงานของปุ่มเป็นอย่างอื่น
ให้เราสร้าง GameObject ที่ว่างเปล่าและแนบสคริปต์นี้เข้าไป เราทำสิ่งนี้เพราะปุ่มจะไม่ทำอะไรด้วยตัวมันเอง มันเรียกเฉพาะเมธอดที่ระบุในการเขียนสคริปต์
ตอนนี้ไปที่คุณสมบัติของปุ่มและค้นหาไฟล์ OnClick() ทรัพย์สิน.
กดไอคอน + ที่แท็บด้านล่างและรายการใหม่จะปรากฏในรายการ
รายการนี้กำหนดวัตถุที่กดปุ่มทำงานและฟังก์ชันใดของสคริปต์ของวัตถุนั้นเรียกว่า เนื่องจากระบบเหตุการณ์ที่ใช้ในการกดปุ่มคุณสามารถเรียกใช้ฟังก์ชันต่างๆได้ง่ายๆเพียงแค่เพิ่มลงในรายการ
ลากและวาง GameObject ที่ว่างเปล่าซึ่งมีไฟล์ ButtonManager เราสร้างสคริปต์ลงในไฟล์ None (Object) สล็อต
ไปที่ไฟล์ No Function รายการแบบเลื่อนลงและมองหาไฟล์ OnButtonPressวิธี. (โปรดจำไว้ว่าสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ OnButtonPress เป็นเพียงหลักการตั้งชื่อที่เป็นมาตรฐานเท่านั้น) คุณควรพบมันในButtonBehaviour มาตรา.
หากคุณเล่นเกมตอนนี้คุณสามารถทดสอบปุ่มและก็เพียงพอแล้วคอนโซลจะพิมพ์จำนวนครั้งที่คุณกดปุ่ม