Câu trả lời ngắn gọn là không , bạn không thể làm điều đó.
Cả hai câu trả lời trên đều đúng về mặt quản lý cảnh. Bạn có thể sử dụng Trình quản lý cảnh để tải cảnh và vì nó không đồng bộ nên bạn có thể chạy mã khác song song.
Hãy xem tài liệu của SceneManager.LoadScene để biết thêm chi tiết.
Lần gần nhất bạn có thể chạy mã của mình càng nhanh càng tốt sau khi trò chơi bắt đầu là chạy mã từ cảnh đầu tiên với dấu chân nhỏ. Hãy gọi nó là Cảnh Splash . Điều duy nhất nó sẽ chứa là hình ảnh giật gân và bộ điều khiển của bạn đang chạy mã cần thiết và tải một cảnh khác.
Vì nó có dấu chân nhỏ, nó sẽ tải rất nhanh và do đó làm cho mã của bạn chạy gần như ngay lập tức. Sau đó, bạn có thể làm những gì bạn phải làm và tải Cảnh khác sau đó.
Một điều khác bạn có thể thử là xóa "màn hình giật gân" xóa bất kỳ hình ảnh nào bạn muốn hiển thị ở đó. Nó sẽ chỉ nhanh hơn một chút vì nó sẽ không được tải ban đầu.
Vì vậy, dòng chảy sẽ là một cái gì đó như thế này:
- Màn hình Splash (không có hình ảnh ở đây, chỉ làm cho nó màu đen)
- Cảnh giật gân (dấu chân nhỏ với mã ban đầu của bạn và trình tải cảnh tiếp theo)
- Cảnh giới thiệu (cảnh giới thiệu thường xuyên)
- .... (những cảnh khác như thường lệ)
Cảnh nhỏ hơn sẽ tải nhanh hơn. Bạn có thể sử dụng một cái gì đó như bộ điều khiển giật gân gắn liền với bất kỳ đối tượng nào trong màn hình Splash đã tải .
using UnityEngine;
using UnityEngine.SceneManagement;
public class SplashController: MonoBehaviour
{
void Start()
{
// RunSomeSyncMethod();
SceneManager.LoadScene("OtherSceneName", LoadSceneMode.Additive);
}
}