[英]Redirect from one scene to another Unity 3D script
我有2個場景,我想在單擊按鈕時從一個場景重定向到另一個場景。 我為此使用了AssetBundle。 這是資產導出的代碼:
public class ExportAssetBundles
{
[MenuItem("Assets/Build AssetBundle")]
static void ExportResource()
{
string folderName = "AssetBundles";
string filePath = Path.Combine(Application.streamingAssetsPath, folderName);
BuildPipeline.BuildAssetBundles(filePath, BuildAssetBundleOptions.None, BuildTarget.NoTarget);
}
}
這是加載代碼:
public class RedirectToMenu : MonoBehaviour {
void Start () {
Button btn = GetComponent<Button>);
btn.onClick.AddListener(OnClick);
}
public void OnClick(){
Debug.Log("You have clicked the button!");
LoadAsset("MenuFinal");
}
IEnumerator LoadAsset(string assetBundleName)//, string objectNameToLoad)
{
string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "AssetBundles");
filePath = System.IO.Path.Combine(filePath, assetBundleName);
var assetBundleCreateRequest = AssetBundle.LoadFromFileAsync(filePath);
yield return assetBundleCreateRequest;
AssetBundle asseBundle = assetBundleCreateRequest.assetBundle;
}
}
因此,當我在Unity中運行場景時,在控制台中會出現以下錯誤:
ArgumentException: The output path "D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundles" doesn't exist(at ExportAssetBundles.ExportResource () (at Assets/ExportAssetBundles.cs:16)
我已將場景放入Assets文件夾中:
另外,我已將它們添加到“構建”設置中:
那么如何解決此錯誤並使重定向工作呢? 那是代碼問題還是某些文件位置問題?
使用SceneManager.LoadScene()
public static void LoadScene(int sceneBuildIndex,
SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);
public static void LoadScene(string sceneName,
SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);
您要求的路徑是
"D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundles"
但是你真正的道路是
"D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundle" <- no 's'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.