Unity中,使用Addressables异步载入场景
2023-08-03 本文已影响0人
全新的饭
IEnumerator LoadMainSceneCoroutine()
{
// MainGameSceneName为Addressable中游戏主场景的地址(可以改为简称(Name))
var mainGameSceneHandle = Addressables.LoadSceneAsync(MainGameSceneName, UnityEngine.SceneManagement.LoadSceneMode.Single, false);
if (mainGameSceneHandle.Status == UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationStatus.Failed)
{
Debug.LogError("加载游戏主场景失败:" + mainGameSceneHandle.OperationException.ToString());
yield break;
}
while (!mainGameSceneHandle.IsDone)
{
yield return null;
}
Debug.Log("已加载好游戏主场景");
// 将主场景设置为活动场景(真正载入)(有时可能需要等待合适的时机,再主动调用)
mainGameSceneHandle.Result.ActivateAsync();
}
获取加载进度的方式是
mainGameSceneHandle.GetDownloadStatus().Percent