0

我有 340 个精灵,我想像漫画书一样展示它们。漫画书有39章,每章大约有6-10张图片。

我注意到如果文件 resources.assets 大于 2Gb,Unity 不允许从 Resources 文件夹加载资源,所以我将所有资源分成两组:第一组图像留在 Resources 文件夹中,第二组图像组合成资产包。

所以现在如果我想看第一章,它会加载第一章的图片,如果我继续选择第二章,它会卸载第一章的图像并加载第二章的图像。但是如果我想再看第一章,那有两种情况。

如果第一章的图像是从 Resources 文件夹加载的——好吧,它只是再次加载它们。

如果图像是从 AssetBundle 加载的 - 它不能再次加载这些图像,因为当我从第一章切换到第二章时,它从第一章卸载了资源,现在它们已被删除。

那么如何解决 AssetBundle 和删除资源的第二种情况呢?我只是不能一直将所有未使用的资源都保存在内存中。

4

1 回答 1

1

只需像以前一样使用 WWW 类再次加载资产包。您必须让您的应用程序等到加载完成。您应该在加载时显示加载弹出窗口。

在协程中是这样的:

WWW www = WWW.LoadFromCacheOrDownload (url, 1);
yield return www;
AssetBundle bundle = www.assetBundle;
AssetBundleRequest request = bundle.LoadAssetAsync ("img1", typeof(Texture2D));
yield return request;
Texture2D img = request.asset as Texture2D ;

http://docs.unity3d.com/Manual/LoadingAssetBundles.html

于 2015-12-07T10:27:09.290 回答