C# 如何使用SceneManager.UnloadSceneAsync?

C# 如何使用SceneManager.UnloadSceneAsync?,c#,unity3d,C#,Unity3d,我正在使用SceneManager.LoadSceneAsync在游戏中加载新关卡,但加载后,场景并不总是被激活。当玩家改变主意时就会发生这种情况——之后他/她必须选择另一个关卡。我以为我可以加载(异步)另一个场景,它会覆盖上一个场景,但新场景根本没有加载(只有在我之前加载了另一个场景并且没有激活它的情况下)。我想我应该在加载新场景之前卸载以前加载的场景,所以我这样做了:SceneManager.UnloadSceneAsync,但我不知道如何完成卸载。使用SceneManager.LoadSc

我正在使用
SceneManager.LoadSceneAsync
在游戏中加载新关卡,但加载后,场景并不总是被激活。当玩家改变主意时就会发生这种情况——之后他/她必须选择另一个关卡。我以为我可以加载(异步)另一个场景,它会覆盖上一个场景,但新场景根本没有加载(只有在我之前加载了另一个场景并且没有激活它的情况下)。我想我应该在加载新场景之前卸载以前加载的场景,所以我这样做了:
SceneManager.UnloadSceneAsync
,但我不知道如何完成卸载。使用
SceneManager.LoadSceneAsync
可以只
ao.allowSceneActivation=true
ao
AsyncOperation
),但是Unity文档没有提到卸载。你知道我该怎么做吗?

你有没有尝试过使用这些方法的同步副本进行调试?你在C#async的世界中增加了额外的不确定性,所以如果适用的话,尝试一下同步方法。我尝试过使用同步方法,我认为它卸载了场景,因为我没有错误,但仍然有相同的结果。我还尝试了弹出
AsyncOperation
的进度,卸载场景并尝试异步加载新场景后,它将保持在0(应达到0.9)。1.Unity版本是什么?2.请更新您的代码,以显示您如何准确地使用
UnloadSceneAsync
功能。我的Unity版本是5.6.0f3。我没有使用UnloadSceneAsync,因为我需要先回答我的问题。我尝试使用
UnloadScene
,我是这样做的:
SceneManager.UnloadScene(mapNameString)您是否尝试过使用这些方法的同步对应项进行调试?你在C#async的世界中增加了额外的不确定性,所以如果适用的话,尝试一下同步方法。我尝试过使用同步方法,我认为它卸载了场景,因为我没有错误,但仍然有相同的结果。我还尝试了弹出
AsyncOperation
的进度,卸载场景并尝试异步加载新场景后,它将保持在0(应达到0.9)。1.Unity版本是什么?2.请更新您的代码,以显示您如何准确地使用
UnloadSceneAsync
功能。我的Unity版本是5.6.0f3。我没有使用UnloadSceneAsync,因为我需要先回答我的问题。我尝试使用
UnloadScene
,我是这样做的:
SceneManager.UnloadScene(mapNameString)