Ich habe ein Spiel, das mehrere massive Levels haben wird, die ineinander fließen (es ist ein Metroidvania-Spiel), und deshalb muss ich Levels entladen, wenn der Charakter diese Bereiche verlässt, damit es das Spiel nicht zum Absturz bringt zu viel Speicher verwenden.Wie entferne ich eine Ebene mit UnloadSceneAsync, nachdem ich einen Triggerbereich verlassen habe?
habe ich schon versucht:
void OnTriggerExit2D(Collider2D coll)
{
SceneManager.UnloadScene(sceneIndex);
}
aber ich habe irgendwo gelesen, dass man nicht UnloadScene
aus der Physik nennen kann aus irgendeinem Grund auslöst. https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.UnloadScene.html
Aber sie sagen, UnloadSceneAsync
zu verwenden, die nicht existiert. Der Link in der Dokumentation ist kaputt und mein Programm wird nicht kompiliert, wenn ich versuche es zu benutzen.
Wie geht das vor? Wie entlädt man eine Szene, nachdem der Charakter sie verlassen hat?
EDIT: Ich habe versucht, auch diese, aber es wird nicht kompilieren:
void OnTriggerExit2D(Collider2D coll)
{
SceneManager.UnloadSceneAsync(sceneIndex);
}
„mein Programm wird nicht kompiliert, wenn ich versuche, es zu benutzen“ Warum nicht buchen den 'UnloadSceneAsync' Code verwendet, die nicht kompiliert werden? Sie haben nur den Code 'UnloadScene' in Ihrer Frage. – Programmer
@Programmer, weil es genau wie der Code oben ist, aber mit dem Wort "Async" drin. Hinzugefügt sowieso – shieldgenerator7