我正在使用 LoadFromCacheOrDownload 函数,我只是不确定如何从统一内部下载资产包,然后为设备中的本地加载资产包。谢谢!这是我目前正在使用的代码:
using UnityEngine.UI;
using System;
public class LoadScenes : MonoBehaviour
{
public string sceneAssetBundle;
public string sceneName;
public string sName;
public string bName;
public string BundleURL;
public int version;
public int downloaded = 0;
IEnumerator Start() {
if (downloaded == 0){
using (WWW www = WWW.LoadFromCacheOrDownload (BundleURL, version)) {
yield return www;
if (www.error != null)
throw new Exception ("WWW download had an error:" + www.error);
if (www.error == null) {
AssetBundle bundle = www.assetBundle;
}
}
if (Caching.ready == true) {
downloaded = 1;
yield return InitializeLevelAsync (sceneName, true);
}
}
}
public void getScene(string sName){
sceneName = sName;
}
public void getBundle(string bName){
sceneAssetBundle = bName;
}
public IEnumerator InitializeLevelAsync (string levelName, bool isAdditive)
{
// This is simply to get the elapsed time for this phase of AssetLoading.
float startTime = Time.realtimeSinceStartup;
// Load level from assetBundle.
AssetBundleLoadOperation request = AssetBundleManager.LoadLevelAsync(sceneAssetBundle, levelName, isAdditive);
if (request == null)
yield break;
yield return StartCoroutine(request);
// Calculate and display the elapsed time.
float elapsedTime = Time.realtimeSinceStartup - startTime;
Debug.Log("Finished loading scene " + levelName + " in " + elapsedTime + " seconds" );
}
}