Search…

Chuyển Đổi Scene trong Unity

02/11/20202 min read
Hướng dẫn cách để chuyển cảnh - đổi scene trong Unity.

Với đa số game hiện nay, có nhiều hơn một màn chơi hay cấp độ để thách thức người chơi, tăng tính thú vị của game. Làm thế nào để khi chơi hết 1 màn có thể chuyển sang màn chơi mới? Để làm điều này có thể thay thêm các popup trong game hoặc chuyển đổi scene.

Chuyển đổi giữa các scene

Tạo Scene

Để chuyển đổi giữa các scene trong game, cần 2 hoặc nhiều scene và sao lưu lại.

Để thực hiện thử việc chuyển scene, tạo scene main, backbuttonhighscore.

Main scene

Main scene unity

Backbutton scene

Backbutton scene unity

Highscore scene

Highscore scene unity

Chuyển Scene với C# Script

Để chuyển scene khá đơn giản do Unity đã hỗ trợ việc load một màn chơi trong game (level) thông qua hàm Application.LoadLevel. Nguyên mẫu của hàm như sau:

public static void LoadLevel(int index);
public static void LoadLevel(string name);

Có thể dùng trực tiếp tên của scene để chuyển đổi sang scene đó.

Cấu hình Build Setting

1 số trường hợp có nhiều màn tương tự nhau, chuyển đổi bằng tên scene có đôi chút phức tạp hơn. Do đó có thể sử dụng index của scene, là ID của scene trong cửa sổ Build Setting.

Ngoài ra có thể truy xuất tênindex của scene hiện tại thông qua các thành phần loadedLevelloadedLevelName nằm trong lớp Application.

Sau khi thực hiện các thao tác trên, nếu test thử thì thấy các thao tác chuyển scene vẫn chưa hoạt động. Các scene có thể chuyển qua lại khi và chỉ khi chúng được thêm vào Build Setting. Lúc này Unity sẽ lưu trữ indexname của scene, phục vụ cho việc chuyển đổi scene.

Để mở menu Build Setting, thực hiện 1 trong những cách sau:

  • Vào menu File → Build Setting.
  • Nhấn tổ hợp phím Ctrl + Shift + B.

Giao diện Build Setting hiện ra, thực hiện kéo thả tất cả các scene liên quan vào mục Scene In Build. Mỗi scene sẽ có 1 index và có thể kéo thả nhiều lần. Do đó cần cẩn thận để tránh lãng phí tài nguyên khi build lại những scene trùng lặp.

ss_4

Đến đây thì các scene đã sẵn sàng để có thể chuyển đổi qua lại theo logic game. Nhấn nút Play và kiểm tra.

Download code

ChangeSceneDemo.zip

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024