Site icon บริษัท โค๊ดบี จำกัด

สอน Unity3D C# ตอน 4 เพิ่ม event onClick ให้ UI Button

ทำโมบายแอพด้วย-unity

ทำโมบายแอพด้วย-unity

<h3>สอน Unity3D C&num; ตอน 4 เพิ่ม event onClick ให้ UI Button<&sol;h3>&NewLine;<p><&sol;br><br &sol;>&NewLine;<strong>สอน Unity3D C&num; ตอน 4 เพิ่ม event onClick ให้ UI Button<&sol;strong><br &sol;>&NewLine;ในบทความที่แล้ว เราได้เริ่มต้นด้วยการสร้างไฟล์ C&num; ไฟล์ &period;cs ใน Unity และทดสอบการทำงานของฟังก์ชั่น void Start&lpar;&rpar; และฟังก์ชั่น void Update&lpar;&rpar;<br &sol;>&NewLine;<&sol;br><br &sol;>&NewLine;ในบทความนี้เราจะทดลองสร้างฟังก์ชั่นขึ้นมาเอง และเริ่มการทำงานของฟังก์ชั่นเมื่อมีการคลิกที่ปุ่ม หรือ UI Button ตัวอย่างด้านล่าง ถ้าไม่เข้าใจให้กลับไปอ่านบทความก่อนนหน้านี้ <a href&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;สอน-unity3d-c-ตอน-3-สร้างไฟล์ภาษา-c-แ&sol;" target&equals;"&lowbar;blank">https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;สอน-unity3d-c-ตอน-3-สร้างไฟล์ภาษา-c-แ&sol;<&sol;a><&excl;--more--><&sol;p>&NewLine;<p><&sol;br><&sol;p>&NewLine;<h4>รับ event onClick เมื่อมีการคลิกที่ปุ่ม<&sol;h4>&NewLine;<p>1&period; ในหน้าต่าง hierarchy สร้าง Empty Object และตั้งชื่อใหม่ว่า AppController<br &sol;>&NewLine;2&period; ในหน้าต่าง Assets สร้างโฟลเด้อตั้งชื่อว่า script และในโฟลเด้อ script สร้างไฟล์ &period;cs ตั้งชื่อว่า AppController&period;cs<br &sol;>&NewLine;3&period; ลากไฟล์ AppController&period;cs ไปวางไว้ใน Object AppController จากนั้นเปิดไฟล์ AppController&period;cs และเขียนโค๊ดดังนี้<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " >using UnityEngine&semi; &NewLine;using System&period;Collections&semi; &NewLine;using UnityEngine&period;UI&semi; &sol;&sol; เพื่อให้ใช้งาน UI Component ของ Unity ได้ &NewLine; &NewLine;public class AppController &colon; MonoBehaviour &lbrace; &NewLine; &NewLine;&Tab;public Button startBtn&semi; &sol;&sol; สร้างตัวแปรแบบ public เพื่อให้ workspace ของ unity เข้าถึงแปรนี้ได้ &NewLine; &NewLine;&Tab;void Start &lpar;&rpar; &lbrace; &NewLine;&Tab;&Tab;Debug&period;Log &lpar;"Start"&rpar;&semi; &NewLine;&Tab;&rcub; &NewLine;&Tab;void Update &lpar;&rpar; &lbrace; &NewLine;&Tab;&Tab;Debug&period;Log &lpar;"Update"&rpar;&semi; &NewLine;&Tab;&rcub; &NewLine;&rcub;<&sol;pre>&NewLine;<p>4&period; หลังจากที่เราแก้ไขไฟล์ AppController&period;cs เรียบร้อยแล้ว เปลี่ยนมาทำงานที่ workspace ของ unity เลือกไปที่ AppController Object ในหน้าต่าง inspector จะปรากฏ input ที่ชื่อว่า Start Btn ตามชื่อตัวแปรแบบ public ที่เราได้สร้างไว้ในขั้นตอนที่ 3 ให้ลากปุ่มที่เราได้สร้างไว้ในส่วนของ hierarchy มาวางไว้ในช่องนี้<br &sol;>&NewLine;<&sol;br><br &sol;>&NewLine;<img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2017&sol;02&sol;สอน-unity3d-คลิก-1&period;png" alt&equals;"สอน-unity3d-คลิก" &sol;><br &sol;>&NewLine;<&sol;br><br &sol;>&NewLine;5&period; เมื่อผ่านขั้นตอนที่ 4 เรียบร้อยแล้ว ปุ่มใน workspace จะมีค่าและเป็นตัวเดียวกันกับตัวแปร startBtn ที่เราประกาศไว้ในไฟล์ AppController&period;cs ให้เปิดไฟล์ AppController&period;cs เขียนคำสั่งเพื่อให้ปุ่มมี event ตอนคลิกดังนี้<&sol;p>&NewLine;<pre class&equals;"lang&colon;default decode&colon;true " > &NewLine;using UnityEngine&semi; &NewLine;using System&period;Collections&semi; &NewLine;using UnityEngine&period;UI&semi; &sol;&sol; เพื่อให้ใช้งาน UI Component ของ Unity ได้ &NewLine; &NewLine;public class AppController &colon; MonoBehaviour &lbrace; &NewLine; &NewLine;&Tab;public Button startBtn&semi; &sol;&sol; สร้างตัวแปรแบบ public เพื่อให้ workspace ของ unity เข้าถึงแปรนี้ได้ &NewLine; &NewLine;&Tab;void Start &lpar;&rpar; &lbrace; &NewLine;&Tab;&Tab;startBtn&period;onClick&period;AddListener&lpar;delegate&lpar;&rpar;&lbrace; &NewLine;&Tab;&Tab;&Tab;startGame&lpar;&rpar;&semi; &NewLine;&Tab;&Tab;&rcub;&rpar;&semi; &NewLine;&Tab;&rcub; &NewLine;&Tab;void startGame&lpar;&rpar;&lbrace; &NewLine;&Tab;&Tab;Debug&period;Log &lpar;"on Click Start Game &excl;&excl;&excl;"&rpar;&semi; &NewLine;&Tab;&rcub; &NewLine;&Tab;void Update &lpar;&rpar; &lbrace; &NewLine;&Tab;&Tab; &NewLine;&Tab;&rcub; &NewLine;&rcub;<&sol;pre>&NewLine;<p>6&period; ทดสอบการทำงาน โดยกดปุ่ม Play ในหน้า workspace ของ Unity ทดลองกดปุ่มและดูผลลัพธ์ในหน้า Console จะเห็นว่า ทุกครั้งที่กดปุ่มตัวแอพจะวิ่งไปทำงานที่ฟังก์ชั่น startGame&lpar;&rpar; ที่เราได้เขียนไว้ใน AppController&period;cs<br &sol;>&NewLine;<&sol;br><br &sol;>&NewLine;<img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2017&sol;02&sol;สอน-unity3d-คลิก-2&period;png" alt&equals;"สอน-unity3d-คลิก" &sol;><br &sol;>&NewLine;<&sol;br><br &sol;>&NewLine;<&sol;br><&sol;p>&NewLine;

Exit mobile version