สลับไปมาระหว่างฉากต่างๆ

ปรับปรุงหน้า :
วันที่สร้างเพจ :

สภาพแวดล้อมการตรวจสอบ

หน้าต่าง
  • หน้าต่าง 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เรียกวิธีการได้

ลองเล่นเกมและดูว่าฉากเปลี่ยนไปหรือไม่หลังจากคลิกปุ่ม