- 1.定义一个协程LoadNonObjFromAB
IEnumerator LoadNonObjFromAB(string ABURL, GameObject go, string assetName)
- IEnumerator LoadNonObjFromAB(string ABURL, GameObject go, string assetName)
- {
- //参数检查
- if(string.IsNullOrEmpty(ABURL) || go == null)
- {
- Debug.LogError("参数错误!");
- }
- using (WWW www = new WWW(ABURL))
- {
- yield return www;
- AssetBundle ab = www.assetBundle; //获取AB包
- if(ab != null)
- {
- if(assetName == "")
- {
- go.GetComponent<Renderer>().material.mainTexture = ab.mainAsset as Texture;
- }
- else
- {
- go.GetComponent<Renderer>().material.mainTexture = (Texture)ab.LoadAsset(assetName); //替换贴图为下载的贴图
- print(assetName);
- }
- //卸载AB包
- ab.Unload(false);
- }
- else
- {
- Debug.LogError("下载错误:"+www.error);
- }
- }
- }
2.调用协程
- private void Start()
- {
- StartCoroutine(LoadNonObjFromAB(URL1, testGo, assetName1));
- }
-
(在调用之前要对参数初始化)
-