当前位置: 移动技术网 > IT编程>开发语言>.net > AssetBoundle加载非预设资源

AssetBoundle加载非预设资源

2018年12月21日  | 移动技术网IT编程  | 我要评论

邯郸清晨热线,宝马娱乐 pt88.vip,jilindaxue

1.定义一个协程loadnonobjfromab
ienumerator loadnonobjfromab(string aburl, gameobject go, string assetname)

参数含义:aburl:要下载的ab包地址  go:用于测试,显示加载贴图  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));
        }

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

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网