Carregar dinamicamente um único recurso
Perceber
- Carregar dinamicamente um único recurso para garantir que o nome ou rótulo do recurso seja exclusivo
- Vários recursos do mesmo Carregar automaticamente o primeiro recurso que corresponde aos critérios
- Vários recursos de tipos diferentes Determine qual deles carregar com base no tipo genérico
- Addressables.Release libera recursos. Após a liberação, o objeto que utiliza o recurso é afetado. Para liberar, certifique-se de que o recurso não seja mais utilizado.
Exemplo
AsyncOperationHandle<GameObject> handle = Addressables.LoadAssetAsync<GameObject>("SD");//参数是资源名或标签
handle.Completed += (obj) =>
{
if (obj.Status == AsyncOperationStatus.Succeeded)
{
Instantiate(obj.Result, Vector3.zero, Quaternion.identity);
// Addressables.Release(handle);
}
};
Carregar cenas dinamicamente
parâmetros do método
- nome da cena do parâmetro
- Parâmetro 2 Modo de carregamento sozinho ou sobreposto (manter a cena anterior)
- Se deve alternar a cena diretamente após o parâmetro 3 ser carregado
- Parâmetro 4: A prioridade de carregamento assíncrono da cena
Perceber
A liberação de recursos de cena não afetará a cena carregada, a cena é essencialmente um arquivo de configuração.
Exemplo
Addressables.LoadSceneAsync("Load", UnityEngine.SceneManagement.LoadSceneMode.Single, false).Completed += (scene) =>
{
//未激活前 上一个场景仍然存在 加载的场景处于失活状态
//激活场景后 上一个场景不存在
Debug.Log("异步激活场景");
scene.Result.ActivateAsync().completed += (active) =>
{
Addressables.Release(scene);
};
};