O sistema endereçável carrega dinamicamente ativos individuais, cenas

Carregar dinamicamente um único recurso

Perceber

  1. Carregar dinamicamente um único recurso para garantir que o nome ou rótulo do recurso seja exclusivo
  2. Vários recursos do mesmo Carregar automaticamente o primeiro recurso que corresponde aos critérios
  3. Vários recursos de tipos diferentes Determine qual deles carregar com base no tipo genérico
  4. 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

  1. nome da cena do parâmetro
  2. Parâmetro 2 Modo de carregamento sozinho ou sobreposto (manter a cena anterior)
  3. Se deve alternar a cena diretamente após o parâmetro 3 ser carregado
  4. 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);
    };
};

Acho que você gosta

Origin blog.csdn.net/weixin_43796392/article/details/122998370
Recomendado
Clasificación