สร้างเกม Unity - เขียนโปรแกรมเบื้องต้น ตอนที่ 1 สร้างสคลิป รู้จักโครงสร้างและรู้จักกับคำว่าตัวแปร
สวัสดีครับ สำหรับเพื่อนๆที่ยังไม่เคยสร้างสคลิป
ให้ตามไปดูในลิ้งค์นี้ก่อนนะครับ >>> Hello World Project<<<
สำหรับบทความนี้ เราจะมารู้จักและเข้าใจกับคำว่า ตัวแปร กันก่อนนะครับ มาเริ่มกันเลย
ให้เพื่อน สร้างสคลิปมาใหม่กันอีกครั้ง
หลังจากที่เปิด script ขึ้นมา ก็จะมีโค้ดที่เริ่มมาให้ หน้าตาก็จะเหมือนรูปด้านบนนะครับ ทบทวนบวกกับอธิบายกันอีกทีแล้วกัน
เพื่อนๆจะเห็น using , public class xxxx(ชื่อไฟล์ที่เราตั้ง) { } เห็น void xxx
ซึ่งส่วนใหญ่ โครงสร้างหรือรูปแบบการเขียนโปรแกรม ก็จะมีองค์ประกอบพวกนี้ เหมือนๆกัน หรือคล้ายๆกันทุกภาษานะครับ
แต่เรายังจะไม่ไปทำความรู้จะกับพวกนี้นะครับ เดี๋ยวไว้เรียนรู้กันไปทีละขั้นตอน
ทบทวนครับ
.ให้เราพิมพ์คำสั่ง Debug.Log("start"); ไว้ในฟังชั่น start() ตามภาพครับ แล้ว save
*หมายเหตุ Debug.Log(xxxxx); เป็นคำสั่งที่จะได้ใช้ไปตลอด มันคือคำสั่งเอาไว้ดูผลลัพธ์อะไรก็แล้วแต่ที่เราต้องการ ในตัวอย่างนี้ผมอยากดูคำว่า start แล้วทำไมต้องมีเครื่องหมาย " " นี่ด้วย เดี๋ยวอธิบายทีหลังครับ
แน่นอนว่า script ที่เราสร้างมาจะไม่ถูกเรียกใช้งานเลย ซึ่งการเรียกใช้สคลิปต่างๆทำได้ตามนี้ครับ
ให้ไปที่หน้าโปรเจ็ก แล้วทำการคลิกลาก สคลิปที่เราสร้างไว้ ไปวางที่ object ใด object นึง ในตัวอย่าง ผมลากไปวางไว้ใน main camera ถ้าเสร็จแล้ว สังเกตุส่วน Inspector จะมีชืือสคลิปที่เราสร้างไว้ โผล่ขึ้นมา เพียงเท่านี้ถ้าเรา Run หรือกด Play สคลิปก็จะถูกเรียกใช้งาน
ให้เรากดปุ่ม Run เลยครับ อันแรกด้านบนตรงกลาง
ให้เรา stop กัน run ก่อน แล้วกลับไปที่สคลิป
คราวนี้ลอง Debug ที่ในฟังชั่น Update() กันบ้าง ในตัวอย่างผมใส่ภาษาไทยบ้างแล้ว
หลังจากนั้น Save แล้วลอง Run ครับ
ตัวแปรคือการเก็บค่าข้อมูล ตามตัวอย่าง เช่น ตัวแปรชื่อว่า name มีค่าทำกับ xx
การประกาศตัวแปร
string คือ ชนิดของตัวแปร
name คือ ชื่อของตัวแปร
= คือ การกำหนดค่า
"xx" คือ ค่าหรือข้อมูลที่กำหนดให้ตัวแปร
ชนิดของตัวแปรนั้นในตัวอย่างมี string, int, double ซึ่งชนิดของตัวแปร เป็นคำเฉพาะ (ก็คือต้องพิมพ์ให้ตรงตามทุกตัวอักษร) แล้วยังมีอีกหลายชนิด ซึ่งในแต่ละภาษาก็จะมีเหมือนกัน ลองไปศึกษาเพิ่มเติมต่อกันดูครับ มีตัวอย่างเยอะมากๆบนอินเตอร์เน็ต
ตัวอย่างของสามชนิดนี้คืออะไรกันบ้าง
1. string จะเก็บข้อมูลเฉพาะที่เป็นข้อความ ซึ่งการกำหนดค่าให้ตัวแปรชนิด string ต้องครอบด้วยเครื่องหมาย " " ทุกครั้ง ถึงแม้จะเป็นตัวเลข แต่ถ้าถูกครอบด้วย " " ก็จะถูกมองว่าเป็น string ทันที
2. int จะเก็บข้อมูลเฉพาะที่เป็นตัวเลข
3. double จะเก็บข้อมูลตัวเลขที่มีจุดทศนิยม
ให้ตามไปดูในลิ้งค์นี้ก่อนนะครับ >>> Hello World Project<<<
สำหรับบทความนี้ เราจะมารู้จักและเข้าใจกับคำว่า ตัวแปร กันก่อนนะครับ มาเริ่มกันเลย
ให้เพื่อน สร้างสคลิปมาใหม่กันอีกครั้ง
สร้างเกม ตอนนี้เราจะมารู้จักโครงสร้างของภาษา และรูู้จักตัวแปรกันนะครับ
ตามภาพด้านบน โดยไปที่ Tab ของ Project ที่ส่วนของ Assets แล้วคลิกขวาไปพื้นที่ว่างๆในส่วนนั้น เลือก Create > C# Script จากนั้นตั้งชื่อไฟล์ว่าอะไรก็ได้ครับ แล้ว Double Click มันขึ้นมาเลย
หลังจากที่เปิด script ขึ้นมา ก็จะมีโค้ดที่เริ่มมาให้ หน้าตาก็จะเหมือนรูปด้านบนนะครับ ทบทวนบวกกับอธิบายกันอีกทีแล้วกัน
เพื่อนๆจะเห็น using , public class xxxx(ชื่อไฟล์ที่เราตั้ง) { } เห็น void xxx
ซึ่งส่วนใหญ่ โครงสร้างหรือรูปแบบการเขียนโปรแกรม ก็จะมีองค์ประกอบพวกนี้ เหมือนๆกัน หรือคล้ายๆกันทุกภาษานะครับ
แต่เรายังจะไม่ไปทำความรู้จะกับพวกนี้นะครับ เดี๋ยวไว้เรียนรู้กันไปทีละขั้นตอน
ทบทวนครับ
ภาพด้านบนที่เราเห็น เรียกว่าฟังชั่นนะครับ ฟังชั่นประกอบไปด้วย void ชื่อฟังชั่น () { } ซึ่งในส่วนนี้จะถูกเขียนไว้โดยอัตโนมัติ 2 ฟังชั่น ด้วยกันคือ
start() จะทำงานครั้งแรกและครั้งเดียวที่ script นี้ถูกเรียกใช้
update() จะทำงานตลอดเวลาที่ script นี้ถูกเรียกใช้งาน
ลองทดสอบ เพื่อจะได้เห็นภาพนะครับ
*หมายเหตุ Debug.Log(xxxxx); เป็นคำสั่งที่จะได้ใช้ไปตลอด มันคือคำสั่งเอาไว้ดูผลลัพธ์อะไรก็แล้วแต่ที่เราต้องการ ในตัวอย่างนี้ผมอยากดูคำว่า start แล้วทำไมต้องมีเครื่องหมาย " " นี่ด้วย เดี๋ยวอธิบายทีหลังครับ
แน่นอนว่า script ที่เราสร้างมาจะไม่ถูกเรียกใช้งานเลย ซึ่งการเรียกใช้สคลิปต่างๆทำได้ตามนี้ครับ
ให้ไปที่หน้าโปรเจ็ก แล้วทำการคลิกลาก สคลิปที่เราสร้างไว้ ไปวางที่ object ใด object นึง ในตัวอย่าง ผมลากไปวางไว้ใน main camera ถ้าเสร็จแล้ว สังเกตุส่วน Inspector จะมีชืือสคลิปที่เราสร้างไว้ โผล่ขึ้นมา เพียงเท่านี้ถ้าเรา Run หรือกด Play สคลิปก็จะถูกเรียกใช้งาน
ให้เรากดปุ่ม Run เลยครับ อันแรกด้านบนตรงกลาง
สังเกตุที่ Tab Console เราจะเห็นผลลัพธ์ที่เราได้จากคำสั่ง Debug.Log(xxx); จะเห็นคำว่า start ที่ผมได้ใส่ไว้ในสคลิป
ให้เรา stop กัน run ก่อน แล้วกลับไปที่สคลิป
คราวนี้ลอง Debug ที่ในฟังชั่น Update() กันบ้าง ในตัวอย่างผมใส่ภาษาไทยบ้างแล้ว
หลังจากนั้น Save แล้วลอง Run ครับ
จะเห็นว่าผลลัพธ์ที่ได้คือ start แสดงแค่ครั้งเดียว แต่ อัพเดท แสดงหลายครั้ง
นี่ก็คือการทำงานและความแตกต่างของฟังชั่นนี้ครับ
ทีนี้เรามาทำความรู้จักกับคำว่าแปรกันจริงๆสักที
หมายเหตุ ก่อนที่จะไปเริ่มเขียนโปรแกรม เครื่องหมาย ; จะใส่ไว้ปิดท้ายทุกครั้งที่จบคำสั่งหรือการประกาศตังแปรนั้นๆ
ลอง run แล้วดูผลลัพธ์กันได้เลยครับ
การประกาศตัวแปร
string คือ ชนิดของตัวแปร
name คือ ชื่อของตัวแปร
= คือ การกำหนดค่า
"xx" คือ ค่าหรือข้อมูลที่กำหนดให้ตัวแปร
ชนิดของตัวแปรนั้นในตัวอย่างมี string, int, double ซึ่งชนิดของตัวแปร เป็นคำเฉพาะ (ก็คือต้องพิมพ์ให้ตรงตามทุกตัวอักษร) แล้วยังมีอีกหลายชนิด ซึ่งในแต่ละภาษาก็จะมีเหมือนกัน ลองไปศึกษาเพิ่มเติมต่อกันดูครับ มีตัวอย่างเยอะมากๆบนอินเตอร์เน็ต
ตัวอย่างของสามชนิดนี้คืออะไรกันบ้าง
1. string จะเก็บข้อมูลเฉพาะที่เป็นข้อความ ซึ่งการกำหนดค่าให้ตัวแปรชนิด string ต้องครอบด้วยเครื่องหมาย " " ทุกครั้ง ถึงแม้จะเป็นตัวเลข แต่ถ้าถูกครอบด้วย " " ก็จะถูกมองว่าเป็น string ทันที
2. int จะเก็บข้อมูลเฉพาะที่เป็นตัวเลข
3. double จะเก็บข้อมูลตัวเลขที่มีจุดทศนิยม
ลองกดหนดค่าให้กับตัวแปรนั้นๆ แล้วลอง Run
ผลลัพธ์ที่ได้คือ ค่าของตัวแปร ก็จะเปลี่ยนไปตามที่เรากำหนดให้ตัวแปรนั้นๆล่าสุดนั้นเอง
หมายเหตุ การทำงานของสคลิปจะทำงานทีละบรรทัด นั่นหมายความว่าตัวแปร name ไม่ได้มีค่าว่า "xx" แล้ว แต่มีค่า "Unity Thailand" จนว่าจะถูกกำหนดค่าให้ใหม่
ไปตามลิ้งค์จะเป็นจุดเด่นของ Unity ที่สามารถกำหนดค่าในส่วนของ Inspector ได้เลย >>> ตัวแปร public กับ Inspector
หวังว่าบทความนี้จะมีประโยชน์กับเพื่อนบ้างนะครับ
มีสอนตัวต่อตัวมั้ยครับ
ตอบลบ