经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
AssetBoundle加载非预设资源
来源:cnblogs  作者:_清风明月  时间:2018/12/21 10:53:11  对本文有异议
  1. 1.定义一个协程LoadNonObjFromAB
    IEnumerator LoadNonObjFromAB(string ABURL, GameObject go, string assetName)

参数含义:ABURL:要下载的AB包地址  go:用于测试,显示加载贴图  assetName:要加载的资源名称

  1. IEnumerator LoadNonObjFromAB(string ABURL, GameObject go, string assetName)
  2. {
  3. //参数检查
  4. if(string.IsNullOrEmpty(ABURL) || go == null)
  5. {
  6. Debug.LogError("参数错误!");
  7. }
  8. using (WWW www = new WWW(ABURL))
  9. {
  10. yield return www;
  11. AssetBundle ab = www.assetBundle;    //获取AB包
  12. if(ab != null)
  13. {
  14. if(assetName == "")
  15. {
  16. go.GetComponent<Renderer>().material.mainTexture = ab.mainAsset as Texture;
  17. }
  18. else
  19. {
  20. go.GetComponent<Renderer>().material.mainTexture = (Texture)ab.LoadAsset(assetName);  //替换贴图为下载的贴图
  21. print(assetName);
  22. }
  23. //卸载AB包
  24. ab.Unload(false);
  25. }
  26. else
  27. {
  28. Debug.LogError("下载错误:"+www.error);
  29. }
  30. }
  31. }

    2.调用协程
  1. private void Start()
  2. {
  3. StartCoroutine(LoadNonObjFromAB(URL1, testGo, assetName1));
  4. }
  1.  

(在调用之前要对参数初始化)

  1.  

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号