首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从URL加载AssetBundle

从URL加载AssetBundle
EN

Stack Overflow用户
提问于 2019-10-04 10:55:04
回答 1查看 1.2K关注 0票数 0

我正在尝试从服务器加载资产包。

我的资产套间是以URL为基础的。现在我的游戏在webgl平台上的编辑。

我的负载资产包脚本:

代码语言:javascript
复制
[Obsolete]
IEnumerator Start()
{
    while (!Caching.ready)
        yield return null;

    using (var www = WWW.LoadFromCacheOrDownload("http://dev71.onlinetestingserver.com/assetBundles/cube", 5))
    {
        yield return www;
        if (!string.IsNullOrEmpty(www.error))
        {
            Debug.Log(www.error);
            yield return null;
        }
        var myLoadedAssetBundle = www.assetBundle;
        var asset = myLoadedAssetBundle.mainAsset;
        Instantiate(www.assetBundle.LoadAsset("cube"));
    }
}

但它带来了错误:

对象引用没有设置为对象C:/buildslave/unity/build/Runtime/Export/Scripting/Coroutines.cs:17) ()的实例(at

/LoadAssetBundles.cs:76) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator枚举器,System.IntPtr returnValueAddress) (at )

我只想在我玩游戏的时候,把资产打包的很好。我已经创建了资产包。

EN

回答 1

Stack Overflow用户

发布于 2019-10-04 11:18:30

您没有检查是否为null。

代码语言:javascript
复制
using (var www = WWW.LoadFromCacheOrDownload("http://dev71.onlinetestingserver.com/assetBundles/cube", 5))
{
    yield return www;  <--- www MIGHT BE NULL
    if (!string.IsNullOrEmpty(www.error))
    {
        Debug.Log(www.error);
        yield return null;
    }
    var myLoadedAssetBundle = www.assetBundle; 

    var asset = myLoadedAssetBundle.mainAsset; <--- www.assetBundle MIGHT BE NULL
    Instantiate(www.assetBundle.LoadAsset("cube"));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58235019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档