2016-11-02 8 views
0

私はいくつかの大規模なレベルが相互に(メトロロバニアのゲームです)右に流れるゲームを持っているので、キャラクターがそのエリアを離れるときにレベルをアンロードする必要があります。あまりにも多くのメモリを使用します。トリガー領域を離れるとUnloadSceneAsyncでレベルをアンロードする方法はありますか?

私はすでに試した:

void OnTriggerExit2D(Collider2D coll) 
    { 
     SceneManager.UnloadScene(sceneIndex); 
    } 

をしかし、私はいくつかの理由でトリガあなたは物理学からUnloadSceneを呼び出すことはできませんことをどこかで読みました。 https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.UnloadScene.html

しかし、彼らは存在しないUnloadSceneAsyncを使用すると言います。ドキュメントのリンクが壊れていて、私のプログラムを使用しようとするとコンパイルされません。

これはどうすればよいですか? キャラクターが離れるとシーンをどのようにアンロードするのですか?

編集:私もこれを試してみたが、それはコンパイルされません。

void OnTriggerExit2D(Collider2D coll) 
    { 
     SceneManager.UnloadSceneAsync(sceneIndex); 
    } 
+0

コンパイルされません 'UnloadSceneAsync'コードを投稿しないのはなぜ「私はそれを使用しようとすると、私のプログラムはコンパイルされませんか」?あなたの質問には 'UnloadScene'というコードしかありません。 – Programmer

+0

@Programmerこれは上のコードとまったく同じですが、その中に "Async"という単語があるためです。とにかくそれを加えた – shieldgenerator7

答えて

0

UnloadSceneAsyncは、ベータ版にまだあるユニティ5.5に追加されました。機能を利用できる唯一の方法は、ベータ版をダウンロードすることです。これはdocumentationで、hereから最新のUnity 5.5v5.5.0b10)を入手できます。

リリースノートhereで確認できます。

Ctrl + Fキーを押して[UnloadSceneAsync]を検索します。それは言う:

  • のSceneManager:いつでもUnloadSceneと違って呼び出すことができます追加UnloadSceneAsync API。

  • SceneManager:UnloadSceneは非推奨とマークされ、不正な時間に呼び出されると例外がスローされるようになりました。 UnloadSceneAsync は(762371)の代わりに使用する必要があります

関連する問題