วันพุธที่ 7 พฤษภาคม พ.ศ. 2557

[สอน C# for Unity] ตอนที่ 1 : สคริป C# เบื้องต้น




ใน Unity สคริป จะถือว่าเป็น Component ชนิดหนึ่งไม่ต่างจาก component ที่ทำให้วัตถุไปอยู่ตามตำแหน่งต่างๆอย่าง transform หรือ component ที่ทำให้มีคุณสมบัติทางฟิสิกส์อย่าง rigidbody



วัตถุที่มี component ที่เป็น script อยู่จะมีคุณสมบัติเป็นอย่างไรก็ขึ้นอยู่กับว่าเราจะใส่อะไรเข้าไปบ้าง โดยวิธีถ่ายทอดความต้องการของเราเข้าไปในวัตถุผ่าน script ก็ไม่พ้นการเขียนโปรแกรม เนื่องจากการเขียนโปรแกรมทำให้สามารถถ่ายทอดความต้องการได้อย่างยืดหยุ่นและครบถ้วนไม่ว่าเราต้องการจะให้เกมของเราเป็นอย่างไรเราก็สามารถทำให้มันเกิดขึ้นจริงได้หมด



ภาษาใน script ที่ Unity อนุญาติให้เราใช้เป็น component ได้ มีอยู่ 3 ภาษา
ได้แก่ C# , Java Script และ Boo แต่ผมจะขอใช้ C# ละกันนะ :)




การสร้างไฟล์ script ภาษา C# ให้คลิกที่ Create ที่ช่อง project แล้วเลือก C# script จากนั้นก็ตั้งชื่อไฟล์ได้่เลย - ห้ามเว้นวรรค - ห้ามขึ้นต้นด้วยตัวเลข - ห้ามชื่อซำ้กัน - ห้ามชื่อซำ้กับคำสงวน หลังจากนั้นให้ดับเบิลคลิกที่ไฟล์เพื่อเปิดขึ้นมา




ในขั้นต้นจะอธิบายคร่าวๆก่อน เกี่ยวกับภายในสคริปว่าส่วนไหนเป็นส่วนไหน
เวลาเราสร้าง script ขึ้นมา Unity จะ generate โค้ดบางส่วนมาให้



1.ส่วน Header
  • ส่วนนี้เป็นส่วนที่ประกาศว่าในโค้ดนี้จะใช้คำสั่งสำเร็จรูปอะไรบ้าง เช่นคำสั่งสร้างวัตถุ คำสั่งขยับวัตถุ ฯลฯ ซึ่งแค่สองอย่างที่ unity generate มาให้ก็เพียงพอแล้ว ถ้ามี header ไหนที่ใช้เฉพาะทางเป็นพิเศษจะกล่าวไว้ในโพสอื่นนะครับ

2.ส่วนระบุ class
  • เป็นที่ระบุชื่อของสคริป จะต้องตรงกับชื่อไฟล์ .cs ที่สร้างตอนแรก
  • ถ้า rename ไฟล์ จะต้องมาเปลี่ยนตรงนี้ด้วยเพราะสคริปอื่นจะต้องใช้ชื่อนี้

3.ส่วนภายใน class (ส่วนเขียนโค้ด)
  • เราจะเขียนคำสั่ง กำหนดเงื่อนไขต่างๆ ในส่วนนี้
  • คำสั่งต่างๆจะต้องอยู่ในฟังชั่นเท่านั้น เช่น Start , Update
  • ฟังชั่นเช่น Start , Update และ อื่นๆ เป็นฟังชั่นอัตโนมัติที่คำสั่งภายในจะถูกรันเมื่อเกิดอะไรบางอย่างขึ้นตามลิ้ง
  • เช่น Start จะทำงานตอนเริ่มเกม Update จะทำงานทุกๆเฟรม OnMouseDown จะทำงานตอนที่มีการคลิก
  • บรรทัดสีเขียนเข้มที่ขึ้นด้วย // เป็น comment ที่อธิบายเกี่ยวกับส่วนต่างๆ ไม่มีผลกับโค้ด ลบออกหรือเขียนเพิ่มตรงไหนก็ได้