Addressable-动态加载多个资源

1、根据资源名或标签名加载多个对象

加载多个资源
//加载资源
//参数一:资源名或标签名
//参数二:加载结束后的回调函数
//参数三:如果为true表示当资源加载失败时,会自动将已加载的资源和依赖都释放掉;如果为false,需要自己手动来管理释放
AsyncOperationHandle<IList<Object>> handle = Addressables.LoadAssetsAsync<Object>("Red", (obj) =>
{
    //print(obj.name);
});

//如果要进行资源释放管理 那么我们需要使用这种方式 要方便一些
//因为我们得到了返回值对象 就可以释放资源了
handle.Completed += (obj) =>
{
    foreach (var item in obj.Result)
    {
        //print(item.name);
    }
    //释放资源
    Addressables.Release(obj);
};
//注意:我们还是可以通过泛型类型,来筛选资源类型
根据多种信息加载对象
//参数一:想要加载资源的条件列表(资源名、Lable名)
//参数二:每个加载资源结束后会调用的函数,会把加载到的资源传入该函数中
//参数三:可寻址的合并模式,用于合并请求结果的选项。
//如果键(Cube,Red)映射到结果([1,2,3],[1,3,4]),数字代表不同的资源
//None:不发生合并,将使用第一组结果 结果为[1,2,3]
//UseFirst:应用第一组结果 结果为[1,2,3]
//Union:合并所有结果 结果为[1,2,3,4]
//Intersection:使用相交结果 结果为[1,3]
//参数四:如果为true表示当资源加载失败时,会自动将已加载的资源和依赖都释放掉
//      如果为false,需要自己手动来管理释放
List<string> strs = new List<string>() { "Mat", "Red" };
Addressables.LoadAssetsAsync<Object>(strs, (obj) => {
    print(obj.name);
}, Addressables.MergeMode.Intersection);

//注意:我们还是可以通过泛型类型,来筛选资源类型

2、AddressableMgr

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值