Unity3D で多くのシーンを含むプロジェクトを実行しました。最初のシーンにはボタンがあり、クリックするとそれぞれのシーンが再生されます。たとえば、プレイヤーが「バルーンを表示」ボタンをクリックすると、Balloon というシーン (バルーン オブジェクトとそのアニメーションを含む) が開きます。
JavaScript コードを使用してそれを行うにはどうすればよいですか?
Unity3D で多くのシーンを含むプロジェクトを実行しました。最初のシーンにはボタンがあり、クリックするとそれぞれのシーンが再生されます。たとえば、プレイヤーが「バルーンを表示」ボタンをクリックすると、Balloon というシーン (バルーン オブジェクトとそのアニメーションを含む) が開きます。
JavaScript コードを使用してそれを行うにはどうすればよいですか?
Application.LoadLevel(...)を参照してください。
ドキュメントから:
[...]。レベルをロードする前に、ゲームで使用されるレベルのリストに追加する必要があります。[...]
// Loads the level with index 0
Application.LoadLevel (0);
// Load the level named "HighScore".
Application.LoadLevel ("HighScore");
最初に行う必要があるのは、必要なすべてのレベルを Build Settings プロパティに追加することです。Unity または File メニュー、Build Settings に移動し、シーンをスクロール ウィンドウにドラッグ アンド ドロップします。次に、それらに論理番号を割り当てます (または、名前で参照できます)。
Application.LoadLevel(0); // this loads the first level in the list
Application.LoadLevel("nameoflevel"); //does the same thing numerically except by name
Application.LoadLevel(Application.loadedLevel); //reloads current level
Application.LoadLevel(Application.loadedLevel + 1); //loads the next level in order
Application.LoadLevel(Application.loadedLevel - 1); //loads the prior level in order
Application.LoadLevel(Application.levelCount - 1); //loads the last level in list
LoadLevel の int バージョンは、ビルド設定から ID を取得します。プロジェクト ビューからシーン名を取得する文字列バージョンを呼び出すこともできます (ただし、検出するにはビルド設定にある必要があります)。
File->Build Settings に移動し、そこにシーンをドラッグしてから、以下を使用します。
Application.LoadLevel("Ballon");
現在のレベルをリロードする場合は、次を使用できます
Application.LoadLevel (Application.loadedLevel);
もちろん、シーンによって作成され、DontDestroyOnLoad としてマークされたものはすべて、手動でリセットまたは破棄する必要があります。
はい、ビルドでレベルを任意の順序で配置する唯一の方法は、ビルド設定メニューからです。名前またはビルド順序を指定することで、ロードされるレベルにジャンプできますが、ビルド シーケンスにレベルを順番に挿入し、あるレベルから次のレベルにジャンプしたい場合 (つまり、Menu->Level1- >Level2->EndGame)、使用できます
Application.LoadLevel (Application.loadedLevel + 1);