我正在尝试从服务器加载资产包。
我的资产套间是以URL为基础的。现在我的游戏在webgl平台上的编辑。
我的负载资产包脚本:
[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 )
我只想在我玩游戏的时候,把资产打包的很好。我已经创建了资产包。
发布于 2019-10-04 11:18:30
您没有检查是否为null。
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"));
}https://stackoverflow.com/questions/58235019
复制相似问题