Unity进阶----AssetBundle_03(2018/11/07)

1. 为啥有AB包? 由于资源须要更新, 避免更新一次打包一次 动态修改.缓存

2. AB包注意啥? 依赖关系 找依赖关系应该找到对应的平台!!! 框架

3. 打包策略是分场景打包 若文件被文件夹包含打包出来的就是文件夹的名字 不然是场景文件夹名称spa

4. 当我AB包从硬盘加载完成以后 是否是就该加载到内存 并实例化了? 带有缓存的ab加载机制code

5.脚本不容许出如今打包目录的 dllblog

6.知道加载的过程 说出来! 这个很重要(依赖加载必须会). 知道框架的基本做用 之后会拿出来用或修改 内存

7. Lua: Lua语言和其余脚本语言有一致特性 Python C很大的渊源 资源

8.操做步骤:string

a. 指定场景it

b. 指定abnameio

c.指定objinabname

d. 协同

e. 委托 void string

f.在委托里面进行物体的实例化操做

 1 using System.Collections;  2 using System.Collections.Generic;  3 using UnityEngine;  4 using UnityEngine.SceneManagement;  5 using LLWHABFW;//引用框架
 6 
 7 public class Scene03Boll : MonoBehaviour {  8 
 9     private string _abScene = "scenes03"; 10 //压缩场景的名字---------------------------------->"a"
11     private string _abName = "scenes03/scenes03.ab"; 12 //压缩场景中物体的名字----------------->"b"
13     private string _obj01InAB = "Plane.prefab"; 14 //在scenes03.ab中预制体Plane的名字---------->"c"
15     private string _obj02InAB = "Sphere.prefab"; 16 //在scenes03.ab中预制体Sphere的名字-------->"c"
17     private List<GameObject> _mylist; 18     void Start() 19  { 20         _mylist = new List<GameObject>(); StartCoroutine(AssetBundleMgr.GetInstance().LoadAssetBundlePack(_abScene, _abName, heheda)); 21  //解压所需物体及其依赖-------------------------------------->"d"(参数最后一个为"e")
22  } 23     
24     void Update () 25  { 26         if (Input.GetKeyDown(KeyCode.Space)) 27  { 28             for  (int i=0;i<_mylist.Count;i++) 29  { 30  Destroy(_mylist[i]); 31  } 32  _mylist.Clear(); 33 
34  AssetBundleMgr.GetInstance().DisposeAllAssets(_abScene); 35  ABManifestLoader.GetInstance().Dispose(); 36             
37             StartCoroutine("ssss"); 38  } 39  } 40     private void  heheda(string yu) 41 //实例化------------------------------------------------>"f"
42  { 43  GameObject plan, boll; 44         plan = AssetBundleMgr.GetInstance().LoadAsset(_abScene, _abName, _obj01InAB, false) as GameObject; 45         boll = AssetBundleMgr.GetInstance().LoadAsset(_abScene, _abName, _obj02InAB, false) as GameObject; 46  _mylist.Add( Instantiate(plan)); 47  _mylist.Add(Instantiate(boll)); 48  } 49  IEnumerator ssss() 50  { 51         yield return new WaitForSeconds(3); 52         SceneManager.LoadScene("1"); 53  } 54 }

 

 


压缩包对应关系:

 

 

 

更改路径位置:

相关文章
相关标签/搜索