Chuyển đổi giữa các cảnh

Trang Cập Nhật :
Ngày tạo trang :

Môi trường xác minh

Windows
  • cửa sổ 11
Biên tập viên Unity
  • 2020.3.25f1
Gói hệ thống đầu vào
  • 1.2.0

Điều kiện tiên quyết cho mẹo này

Các cài đặt sau đây đã được thực hiện trước làm tiền đề cho mô tả về mẹo này.

Tìm hiểu cách chuyển đổi giữa các cảnh

Một cảnh là một cái gọi là "cảnh", nhưng Unity sử dụng từ "cảnh" như nó là, vì vậy tôi sẽ giải thích nó với cảnh biểu hiện.

Các cảnh thường chuyển đổi giữa các cảnh trong trò chơi. Ví dụ: nếu bạn bắt đầu trò chơi từ menu bắt đầu và hành động bắt đầu, bạn có thể coi đó là một công tắc cảnh. Ngoài ra, hành động mở màn hình menu trong một hành động cũng sẽ là một công tắc cảnh tùy thuộc vào biểu thức menu.

Loại chuyển đổi cảnh này cần được thực hiện trong Unity và có nhiều cách để thực hiện. Ví dụ: chỉ nên có một "Cảnh (trong Unity)" trong trò chơi. Khi bối cảnh trò chơi thay đổi, tất cả các đối tượng từ cảnh trước đó sẽ bị loại bỏ và các đối tượng cần thiết được tạo ra cho cảnh tiếp theo. Tuy nhiên, trong khi cách tiếp cận này có lợi thế là chỉ cung cấp một Cảnh, nó có nhược điểm là phải quản lý theo chương trình chuyển đổi đối tượng.

Trong mẹo này, tôi muốn thực hiện một phương pháp chuẩn bị càng nhiều tệp "Cảnh" càng có cảnh và đặt trước các đối tượng cần thiết trong cảnh để chuyển cảnh. Chuyển đổi giữa các cảnh thực tế rất dễ dàng vì tất cả những gì bạn phải làm là chuyển đổi giữa các tệp Cảnh.

Chuẩn bị hiện trường

Đầu tiên, tạo một dự án bình thường. Giả sử rằng bạn đã chuẩn bị gói hệ thống đầu vào và cấu hình máy ảnh.

Lần này, chúng tôi sẽ chuẩn bị hai tệp cảnh và thực hiện thao tác nhấp vào nút trong cảnh đầu tiên và chuyển sang cảnh thứ hai.

Cảnh SampleScene hiện tại nên được đặt tên , vì vậy hãy thay đổi điều này SampleScene1 thành .

Tiếp theo, nhấp chuột phải vào một vùng trống của dự án và chọn "Cảnh" từ "Tạo". Bạn cũng có thể thêm nó từ nút + bên dưới tab dự án.

Một tập tin cảnh mới sẽ được thêm vào, vì vậy đặt tên nó SampleScene2 .

SampleScene1 Nhấp đúp để mở cảnh và đặt đối tượng như hình dưới đây. Khi bạn nhấp vào nút, bạn SampleScene2 có thể chuyển sang , vì vậy bố cục có thể phù hợp.

SampleScene2 Nhấp đúp để mở cảnh và đặt đối tượng như hình dưới đây. Nó không quan trọng những gì bạn đặt bởi vì bạn chỉ muốn biết những gì đã thay đổi.

Sau khi tạo cảnh, hãy mở "Cài đặt > bản dựng tệp" từ menu.

Thả các cảnh có trong SampleScene2 bản dựng.

Đóng Cài đặt xây dựng sau khi chúng được thêm vào như hình dưới đây.

Quá trình chuyển cảnh

Chuyển đổi cảnh được thực hiện theo kịch bản, vì vậy vui lòng tạo tập lệnh. Tên là tùy ý, nhưng trong trường hợp SceneChange này là .

Kịch bản trông như thế này:

using UnityEngine;
using UnityEngine.SceneManagement;  // 追加

public class SceneChange : MonoBehaviour
{
  /// <summary>ボタンをクリックしたときに呼ばれます。</summary>
  public void OnClick()
  {
    // 指定したシーンを読み込み他のシーンは削除します
    SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
  }
}

Nội dung rất đơn giản SceneManager.LoadScene và bạn có thể chuyển đổi giữa các cảnh bằng phương thức gọi.

Đối số đầu tiên là tên của cảnh để chuyển sang.

Nếu bạn chỉ định làm LoadSceneMode.Single đối số thứ hai, bạn chỉ có thể mở cảnh được chỉ định trong khi đóng cảnh hiện tại. Ngoài ra còn có một tham số gọi đơn giản là thêm LoadSceneMode.Additive cảnh, nhưng tôi sẽ không giải thích nó trong bài viết này.

Sau khi bạn lưu tập lệnh, SampleScene1 hãy mở và đính kèm vào . EventSystem Nó có thể là bất kỳ đối tượng nào bạn gắn vào.

Đặt OnClick sự kiện nhấp chuột của nút thành một đối tượng được đính kèm để SceneChange phương thức có thể được gọi.

Hãy thử chạy trò chơi và xem cảnh có thay đổi không sau khi nhấp vào nút.