สอน 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 เพื่อทดสอบการทำงาน