สลับไปมาระหว่างฉากต่างๆ
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
-
- หน้าต่าง 11
- บรรณาธิการ Unity
-
- ปี 2020.3.25f1
- แพ็คเกจระบบอินพุต
-
- 1.2.0
ข้อกําหนดเบื้องต้นสําหรับเคล็ดลับนี้
การตั้งค่าต่อไปนี้ได้ทําไว้ล่วงหน้าเพื่อเป็นหลักฐานสําหรับคําอธิบายของเคล็ดลับนี้
ดูวิธีสลับไปมาระหว่างฉากต่างๆ
ฉากเป็นฉากที่เรียกว่า "ฉาก" แต่ Unity ใช้คําว่า "ฉาก" เหมือนเดิมดังนั้นฉันจะอธิบายด้วยฉากการแสดงออก
ฉากมักจะสลับไปมาระหว่างฉากในเกม ตัวอย่างเช่นหากคุณเริ่มเกมจากเมนูเริ่มและการกระทําเริ่มขึ้นคุณสามารถคิดว่ามันเป็นสวิตช์ฉาก นอกจากนี้การดําเนินการของการเปิดหน้าจอเมนูระหว่างการกระทําจะเป็นการสลับฉากขึ้นอยู่กับการแสดงออกของเมนู
การสลับฉากแบบนี้จําเป็นต้องดําเนินการใน Unity และมีหลายวิธีที่จะทํา ตัวอย่างเช่น ควรมี "ฉาก (ใน Unity)" เพียงฉากเดียวในเกม เมื่อฉากเกมเปลี่ยนไปวัตถุทั้งหมดจากฉากก่อนหน้าจะถูกทิ้งและวัตถุที่จําเป็นจะถูกสร้างขึ้นสําหรับฉากถัดไป อย่างไรก็ตามแม้ว่าวิธีการนี้มีข้อได้เปรียบในการจัดหาฉากเดียวเท่านั้น แต่ก็มีข้อเสียคือต้องจัดการการเปลี่ยนวัตถุโดยทางโปรแกรม
ในเคล็ดลับนี้ฉันต้องการใช้วิธีการเตรียมไฟล์ "ฉาก" ให้มากที่สุดเนื่องจากมีฉากและวางวัตถุที่จําเป็นในฉากล่วงหน้าสําหรับการสลับฉาก การสลับไปมาระหว่างฉากจริงนั้นง่ายมากเพราะสิ่งที่คุณต้องทําคือสลับไปมาระหว่างไฟล์ฉาก
การเตรียมฉาก
ขั้นแรกให้สร้างโครงการปกติ สันนิษฐานว่าท่านได้เตรียมแพคเกจระบบอินพุทและกําหนดค่ากล้องไว้แล้ว
คราวนี้เราจะเตรียมไฟล์ฉากสองไฟล์และใช้การดําเนินการคลิกปุ่มในฉากแรกและเปลี่ยนเป็นฉากที่สอง
SampleScene
ฉากที่มีอยู่ควรตั้งชื่อดังนั้นให้เปลี่ยนเป็น SampleScene1
.
จากนั้นคลิกขวาที่พื้นที่ว่างของโครงการและเลือก "ฉาก" จาก "สร้าง" คุณยังสามารถเพิ่มได้จากปุ่ม + ด้านล่างแท็บโครงการ
ไฟล์ฉากใหม่จะถูกเพิ่มดังนั้นตั้งชื่อSampleScene2
SampleScene1
ดับเบิลคลิกเพื่อเปิดฉากและวางวัตถุดังที่แสดงด้านล่าง
เมื่อคุณ SampleScene2
คลิกปุ่มคุณสามารถเปลี่ยนเป็น เพื่อให้เค้าโครงมีความเหมาะสม
SampleScene2
ดับเบิลคลิกเพื่อเปิดฉากและวางวัตถุดังที่แสดงด้านล่าง
ไม่สําคัญว่าคุณจะใส่อะไรเพราะคุณแค่อยากรู้ว่ามีอะไรเปลี่ยนแปลง
หลังจากสร้างฉากแล้วให้เปิด "File > Build Settings" จากเมนู
วางฉากที่รวมอยู่ใน SampleScene2
บิลด์
ปิดการตั้งค่าการสร้างเมื่อเพิ่มตามที่แสดงด้านล่าง
กระบวนการสลับฉาก
การสลับฉากทําได้โดยสคริปต์ดังนั้นโปรดสร้างสคริปต์ ชื่อเป็นโดยพลการ แต่ในกรณีนี้ SceneChange
คือ .
สคริปต์มีลักษณะดังนี้:
using UnityEngine;
using UnityEngine.SceneManagement; // 追加
public class SceneChange : MonoBehaviour
{
<summary>ボタンをクリックしたときに呼ばれます。</summary>
public void OnClick()
{
// 指定したシーンを読み込み他のシーンは削除します
SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
}
}
เนื้อหานั้นง่ายมาก SceneManager.LoadScene
และคุณสามารถสลับไปมาระหว่างฉากได้โดยวิธีการโทร
อาร์กิวเมนต์แรกคือชื่อของฉากที่จะสลับไป
ถ้าคุณระบุเป็น LoadSceneMode.Single
อาร์กิวเมนต์ที่สอง คุณสามารถเปิดเฉพาะฉากที่ระบุในขณะที่ปิดฉากปัจจุบัน
นอกจากนี้ยังมีพารามิเตอร์ที่เรียกว่าเพียงแค่เพิ่ม LoadSceneMode.Additive
ฉาก แต่ฉันจะไม่อธิบายในบทความนี้
หลังจากที่คุณบันทึกสคริปต์แล้ว ให้ SampleScene1
เปิดและแนบสคริปต์นั้นเข้ากับ EventSystem
มันสามารถเป็นวัตถุใด ๆ ที่คุณแนบมาด้วย
ตั้งค่าOnClick
เหตุการณ์การคลิกของปุ่มเป็นวัตถุที่แนบมาเพื่อให้สามารถSceneChange
เรียกวิธีการได้
ลองเล่นเกมและดูว่าฉากเปลี่ยนไปหรือไม่หลังจากคลิกปุ่ม