Chuyển đổi giữa các cảnh
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.