เอาละครับ ก่อนจะมาลงมือเขียนสคริปให้เกมของเรา ยังมีอีกอย่างนึงที่จำเป็นมากในการเขียนเกม
นั่นคือเงื่อนไข หรืออาจจะเรียกว่ากฎก็ได้ ว่าถ้าสิ่งไหนเกิดขึ้นเเล้วจะมีอะไรเกิดขึ้นตามมา
- ถ้าโดนยิง -> ตาย จบเกม
- ถ้าคลิกโดนและเวลายังไม่หมด -> ได้คะแนน
- ถ้ากดปุ่ม spacebar -> กระโดด
ในโค้ด C# เราจะใช้คำว่า if เพื่อเปิดประโยคเงื่อนไข ตามด้วยวงเล็บ ( ) ที่มีเงื่อนไขอยู่ข้างในแล้วใส่สิ่งที่ต้องการให้เกิดขึ้นในปีกกา { } ที่อยู่ข้างหลังหรือข้างใต้เงื่อนไข
(การเว้นวรรคกับเว้นบรรทัดมีค่าเหมือนกัน)
ในบางครั้งที่คำสั่งตามท้ายเงื่อนไขมีแค่คำสั่งเดียว เราสามารถไม่ใส่ปีกกาได้ แต่เมื่อไหร่ที่มีสองคำสั่งจะทำให้เกิดการรันโค้ดที่ผิดหากไม่ใส่ปีกกา นำไปสู่ "BUG" อันเป็นที่เกรงกลัวของเหล่าโปรแกรมเมอร์ทั้งหลาย ~ ~
เงื่อนไข
- เงื่อนไขจะมีลักษณะข้อความที่บอกได้ว่าเป็นจริงหรือเปล่า true หรือ false
- อาจจะเป็นตัวแปร bool หรือเป็นสมการ ที่สองข้างเชื่อมด้วยเครื่องหมาย == , < , <= , > , >= เหมือนกับวิชาเลข
ถ้าอยากจะใส่หลายๆเงื่อนไขในวงเล็บเดียว จะต้องใช้สัญลักษณ์
[และ && ] , [ หรือ || ] , [ วงเล็บ () ] มาช่วย แบบเดียวกับตรรกศาสตร์
( รื้อฟื้นความหลังสำหรับบางท่าน 55+ )
ตัวอย่างค่าที่นำมาเช็ค
- เช็คตำแหน่งได้จากค่า transform.position ว่ามากว่าเท่าไหร่ น้อยกว่าไหนก็ว่ากันไป
- เช็คการกดปุ่มได้จาก Input.GetKey(KeyCode) ถ้ากดเเล้วจะเป็น true
- เช็คชื่อวัตถุจากค่า gameObject.name
สิ่งที่เกิดขึ้นหลังจากเช็คเงื่อนไข
- คำถามถูกผิดก็ต้องมีทั้งคำตอบว่าถูกและคำตอบว่าผิด
- เวลาที่มันถูก คอมจะไปอ่านคำสั่งในปีกกาใต้ if
- แต่ถ้าผิด คอมจะไปอ่านคำสั่งในปีกกา else แทน
- คำสั่งที่อยู่ข้างในจะเป็นคำสั่งแบบไหนก็ได้
- อาจจะเป็นเอาตัวแปรมาบวกกัน
- อาจจะสั่งให้เคลื่อนที่
- อาจจะสั่งให้หมุน
- อาจจะสั่งให้เปลี่ยนสี
จากข้างบนนี้จะเป็นตัวอย่างวิธีการ ดึงค่าตำเเหน่งมาเปรียบเทียบค่า และ เช็คการกดปุ่ม เพื่อใช้ในการควบคุมวัตถุแบบง่ายๆ แบบตัวอย่าง web player ใน ลิ้งด้านล่าวนี้ โหลดโปรเจค Unity คลิก
ให้เห็นกันไปเลยว่ามีโค้ดแค่นี้จริงๆนะ มะได้โม้ว
ให้เห็นกันไปเลยว่ามีโค้ดแค่นี้จริงๆนะ มะได้โม้ว