สอน Unity3D C# ตอน 5 จัดการกับ Object ใน Scene ด้วยโค๊ด

สอน Unity3D C# ตอน 5 จัดการกับ Object ใน Scene ด้วยโค๊ด



สอน Unity3D C# ตอน 5 จัดการกับ Object ใน Scene ด้วยโค๊ด
ในโปรแกรม Unity3D นั้น การจัดการกับ Object หรือ UI Element ทั้งหมดใน Scene รวมไปถึง UI Canvas ทำได้ง่ายมากครับ


เพียงแค่เราประกาศตัวแปรแบบ Public ตัวแปรนั้น ๆ จะกลายเป็น element หนึ่งในช่อง inspector เราสามารถลากรูป ปุ่ม เสียง หรือพิมพ์ข้อความ เพื่อกำหนดค่าให้กับตัวแปรนั้น ๆ ได้เลย และในไฟล์ .cs เราก็จะสามารถจัดการกับวัตถุนั้น ๆ ได้ผ่านตัวแปรแบบ public ที่ประกาศไว้นั่นแหล่ะครับ


กำหนดค่าให้กับตัวแปรแบบ public โดยการลากวาง

1. ให้สร้าง UI Button, UI Panel, UI Image ขึ้นมา อย่างละ 1 อย่าง ตั้งชื่อตามในรูปด้านล่าง
2. สร้าง Empty Object ตั้งชื่อว่า AppController และสร้างไฟล์ C# script ตั้งชื่อว่า AppController.cs ลากไฟล์มาใส่ไว้ใน AppController Object

สอน-Unity3D



3. เปิดไฟล์ AppController.cs ในโปรแกรม MonoDevelop จากนั้นให้ประกาศตัวแปร 3 ตัว ตามชื่อของ Panel, Button และ Image ที่เราได้สร้างไว้ในข้อแรก

using UnityEngine;
using System.Collections;
using UnityEngine.UI; // เพื่อให้ใช้งาน UI Component ของ Unity ได้

public class AppController : MonoBehaviour {

	public GameObject panelBackground;
	public Button btnStart;
	public Image imageLoad;

	void Start () {
		
	}
	void Update () {
		
	}
}

จากโค๊ดด้านบนจะมีข้อสังเกตุอยู่เล็กน้อยคือ Panel จะไม่มี UI Class เป็นของตัวเอง แต่จะอยู่ในคลาส GameObject แต่ในขณะที่ Button และ Image จะมี UI Class เป็นของตัวเอง ซึ่งอยู่ใน package คือ UnityEngine.UI.

4. จากนั้นให้เปลี่ยนไปที่ workspace ของ unity เลือกไปที่ AppController Object เราจะเห็นว่ามี element เพิ่มขึ้นมา 3 ช่อง ตามตัวแปรที่เราได้ประกาศไว้ในไฟล์ AppController.cs

สอน-Unity3D



5. จากนั้นให้เริ่มจับคู่ตัวแปรและ object โดยให้ลาก object มาวางไว้ในช่อง ที่มีชื่อเดียวกันหรือ คลิกที่ไอคอนวงกลมหลังช่องแล้วเลือก object ที่มีชื่อตรงกันที่เราต้องการกำหนดค่าให้

จับคู่ให้ตัวแปร กับ Object ใน scene ด้วยการลากวาง

สอน-Unity3D