AssetBundle打包和加载_异步加载AssetBundle(五)

 

	/// <summary>
	/// 从文件进行异步加载
	/// </summary>
	/// <param name="abFullPath">ab包的绝对路径</param>
	/// <param name="finishCallBack">完成加载回调,返回加载的AssetBundle</param>
	/// <param name="updateCallBack">加载过程中的更新回调,返回加载进度</param>
	/// <returns></returns>
	IEnumerator LoadABFileAsync(string abFullPath,Action<AssetBundle> finishCallBack, Action<float> updateCallBack=null)
	{
		AssetBundleCreateRequest request = AssetBundle.LoadFromFileAsync(abFullPath);
		while (!request.isDone)
		{
			if(updateCallBack != null)
			{
				updateCallBack(request.progress);
			}
			yield return null;

		}
		yield return request;
		if(finishCallBack!=null)
		finishCallBack(request.assetBundle);
	}


	private void Start()
	{
		assetPath = Application.dataPath + "/../MyAssetBundles/";		
		StartCoroutine(LoadABFileAsync(assetPath + assetBundleName, OnFinish, OnUpdate));

	}

	private void OnUpdate(float obj)
	{
		Debug.Log(obj);
	}

	private void OnFinish(AssetBundle obj)
	{
		Instantiate(obj.LoadAsset(loadPrefabName));
		obj.Unload(false);
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值