では動作しません。私はコードがあります。ユニティ> SceneManager.LoadScene(文字列)RELEASE
[SerializeField]
Object[] _levels;
private void LoadLevel(int index)
{
var level = _levels[index];
SceneManager.LoadScene(level.name);
}
をこのコードは、ユニティ・エディタからのみ動作しますが、私はそれを構築し、実行すると、例外がスローされます。
(ファイル名:C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cppライン:42)
啓発のための1つのワーカースレッドを設定します。 スレッド - < ID:46C - <優先順位:1人の すべての管理者が
を起動(ファイル名:C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cppライン:42)
とNullReferenceException:<未知のファイル名の[0x00000] BeSlicer.Managering.MissionManager.LoadLevel(のInt32インデックス)で
オブジェクトのインスタンスに設定されていないオブジェクト参照:0
Messenger`1で[ Sy (System.String eventType、Int32 arg1)で:>:0
の[0x00000]の[0x00000] )[0x00000] <ファイル名に未知<:0 UnityEngine.Events.InvokableCall.Invokeで
(System.Objectの[:BeSlicer.GUI.UIController.OnContinueGame()[0x00000]で0
<名不明<で] args)[0x00000] in <ファイル名不明<:0
at U nityEngine.Events.InvokableCallList.Invoke(System.Objectの[]パラメータ)[0x00000] <未知<名:0
UnityEngine.Events.UnityEventBase.Invoke(System.Objectの[]パラメータ)で[0x00000] <ファイル名に0:<不明<ファイル名にUnityEngine.UI.Button.Pressで0
()[0x00000]:<未知<ファイル名にUnityEngine.Events.UnityEvent.Invoke(AT 0
)[0x00000]:不明<
at UnityEngine.UI.Button.OnPointerClick(UnityEngine.E <未知<ファイル名にUnityEngine.EventSystems.ExecuteEvents.Execute(IPointerClickHandlerハンドラ、UnityEngine.EventSystems.BaseEventData EVENTDATA)で0
[0x00000]:0
<未知<ファイル名にventSystems.PointerEventData EVENTDATA)[0x00000] UnityEngine.EventSystems.ExecuteEvents.Execute [IPointerClickHandler(UnityEngine.GameObject対象、UnityEngine.EventSystems.BaseEventData EVENTDATA、UnityEngine.EventSystems.EventFunction`1ファンクタ)[0x00000]で<未知<名:0
UnityEngine。DebugLogHandler:Internal_LogException(例外、オブジェクト)
UnityEngine.DebugLogHandler:たlogException(例外、オブジェクト)
UnityEngine.Logger:たlogException(例外、オブジェクト)
UnityEngine.Debug:たlogException(例外)
UnityEngine。 EventSystems.ExecuteEvents:(ゲームオブジェクト、BaseEventData、EventFunction`1)を実行
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputMo dule:ProcessMouseEvent(Int32)を
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:プロセス()
UnityEngine.EventSystems.EventSystem:アップデート()(ファイル名:ライン:-1)
"シーンのビルド"リストにすべてのシーンを追加しましたが、それは役に立ちません。
私は、SceneManager.LoadScene(int)
が問題なく動作することを発見しました。文字列バージョンでのみ問題です。
シーンアセットをシリアル化フィールドに割り当てようとしましたが、リリースモードでは、シーンアセットへの参照がNULLになります。だから私はそれを 'string []'に変更して名前を明示的に指定し、うまく動作します。 –