2017-12-07 21 views
0

2つのシーンがあり、ボタンをクリックすると1つのシーンから別のシーンにリダイレクトしたい。私はそのためにAssetBundleを使用しました。ここ は、資産をエクスポートするためのコードです:あるシーンから別のシーンにリダイレクトするUnity 3Dスクリプト

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; 
    } 
} 

私はユニティで私のシーンを実行するとだから私は、コンソールでこのようなエラーが出ます:

ArgumentException: The output path "D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundles" doesn't exist(at ExportAssetBundles.ExportResource() (at Assets/ExportAssetBundles.cs:16) 

私は資産フォルダに私のシーンを入れている:

enter image description here

また、私は設定を構築するためにそれらを追加しました:

enter image description here

それでは、どのように私はこのエラーを修正し、リダイレクト作業を行うことができますか?それはコードの問題か、いくつかのファイルの場所の問題ですか?

+0

だから私たちは今、絵文字を使用することができますか? – Thalthanas

+0

@Thalthanasは誤って奇妙な書式設定をしています:) – Cassie

答えて

2

利用SceneManager.LoadScene()

public static void LoadScene(int sceneBuildIndex, 
        SceneManagement.LoadSceneMode mode = LoadSceneMode.Single); 
public static void LoadScene(string sceneName, 
        SceneManagement.LoadSceneMode mode = LoadSceneMode.Single); 
1

あなたが求めるパスが

"D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundles" 

ですが、あなたの実際のパスは

"D:/userdata/Documents/Scene1/Assets/StreamingAssets\AssetBundle" <- no 's' 
+0

ありがとう!!気づかなかった。しかし、今私がボタンをクリックすると、私は何のエラーも出ないし、別のシーンにリダイレクトされない – Cassie

関連する問題