สอน Unity3D C# ตอน 6 วิธีเปลี่ยน scene ด้วย SceneManager
สอน Unity3D C# ตอน 6 วิธีเปลี่ยน scene ด้วย SceneManager
ในการเริ่มต้นทำแอพพลิเคชั่น อีกหนึ่ง action ที่จำเป็นและสำคัญมาก ๆ คือการเปลี่ยนหน้าของแอพพลิเคชั่น จากหน้าหนึ่งไปยังอีกหน้าหนึ่ง สำหรับการเขียนโปรแกรมด้วยโปรแกรม Unity3d ภาษา C# เราจะเรียกแต่ละหน้าว่า scene
ในการจัดการกับแต่ละ scene เราจะใช้คลาสของ unity3d ที่มีให้ใช้งานอยู่แล้วชื่อว่า SceneManager การเปลี่ยนซีนหรือการเปลี่ยนหน้าเพจของแอพพลิเคชั่นนั้นเป็น action พื้นฐานที่สำคัญ ที่ทุกแอพพลิเคชั่นจำเป็นจะต้องมี ลองมาดูกันครับว่าสำหรับ Unity3D แล้วจะมีระบบจัดการกับการเปลี่ยนหน้าอย่างไร
สร้าง Home Scene สำหรับคลิกแล้วไปที่ About Scene
- สร้าง scene ตั้งชื่อว่า “home” ภายใน scene ให้มี UI Button ตั้งชื่อว่า btnAbout สำหรับคลิกไปเพื่อเปลี่ยนซีน
- สร้าง Empty Object ตั้งชื่อว่า HomeController สำหรับจัดการกับ home scene
- สร้างไฟล์ C# Script ตั้งชื่อว่า HomeController.cs ลากไฟล์ไปวางไว้ใน HomController และเขียนคำสั่งดังนี้
HomeController.cs ใน home scene
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class HomeController : MonoBehaviour {
public Button btnAbout;
void Start () {
btnAbout.onClick.AddListener (delegate() {
SceneManager.LoadScene("about"); // คลิกแล้วเปลี่ยนไปหน้า about
});
}
void Update () {
}
}
สร้าง About Scene สำหรับคลิกแล้วไปที่ Home Scene
- สร้าง scene ตั้งชื่อว่า “about” ภายใน scene ให้มี UI Button ตั้งชื่อว่า btnHome สำหรับคลิกไปเพื่อเปลี่ยนซีน
- สร้าง Empty Object ตั้งชื่อว่า AboutController สำหรับจัดการกับ about scene
- สร้างไฟล์ C# Script ตั้งชื่อว่า AboutController.cs ลากไฟล์ไปวางไว้ใน AboutController และเขียนคำสั่งดังนี้
AboutController.cs ใน about scene
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class AboutController : MonoBehaviour {
public Button btnHome;
void Start () {
btnHome.onClick.AddListener (delegate() {
SceneManager.LoadScene("home"); // คลิกแล้วเปลี่ยนไปหน้า home
});
}
void Update () {
}
}
เริ่มต้นตนทดสอบการเปลี่ยน scene
- ไปที่เมนู File -> Build Setting จากนั้นลากทั้ง 2 ซีน คือ home และ about มาวางไว้ในหน้า “Scene in build” กดปุ่ม Play เพื่อทดสอบการทำงาน
