本文共 912 字,大约阅读时间需要 3 分钟。
当把AssetBundle文件从服务器端下载到本地后,需要将其加载到内存中并创建AssetBundle文件内存对象,
可以通过WWW.assetbundle属性来创建一个AssetBundle的内存对象
当AssetBundle文件加载完成后,就可以将它所包含的Assets加载到内存中。
该接口可以通过名字来将AssetBundle文件包含的Asset加载到内存中,也可以通过参数来指定加载Asset的类型。
该接口的作用与AssetBundle.Load相同,不同的是该接口是对Asset进行异步加载,适用于加载一个较大的Asset或者同时加载多个Asset.
该接口用来一次性加载AssetBundle文件中所有的Assets,同AssetBundle.Load一样,可以通过参数来指定加载Asset的类型。
例子:
private IEnumerator StartLoad(string url) { WWW www = new WWW(url); yield return www; AssetBundle bundle = www.assetBundle; AssetBundleRequest request = bundle.LoadAsync("myObject", typeof(GameObject)); yield return request; GameObject obj = request.asset as GameObject; bundle.Unload(false);}注意Unload函数,如果参数为false,则只会卸载AssetBundle对象,并不会对从AssetBundle中加载的Assets有任何影响。
如果是true,则除了AssetBundle对象自身,所有从当前AssetBundle中加载的Assets也会同是被卸载掉,无论它们是否还在被使用。
转载地址:http://uwkvf.baihongyu.com/