回答編集履歴

1

情報の追加、訂正。

2016/10/02 05:54

投稿

退会済みユーザー
test CHANGED
@@ -22,17 +22,9 @@
22
22
 
23
23
  `
24
24
 
25
- は必要ありません。boolの確認用でしょうか?
25
+ は必要ありません。
26
26
 
27
-
28
-
29
- > また、UnloadScene時の戻り値はどの場合でもfalseでした。
30
-
31
-
32
-
33
- `BeforeSceneName`のシーン名は間違っていませんか?
34
-
35
- 存在しないシーン引数として渡した場合も`false`が返り
27
+ マルチシーンを利用していない場合は、この関数は使いせん
36
28
 
37
29
 
38
30
 
@@ -80,7 +72,7 @@
80
72
 
81
73
  SceneManager.LoadScene("B", LoadSceneMode.Single);
82
74
 
83
- Debug.Log(SceneManager.UnloadScene("A"));
75
+ // Debug.Log(SceneManager.UnloadScene("A"));
84
76
 
85
77
  Resources.UnloadUnusedAssets();
86
78
 
@@ -94,8 +86,22 @@
94
86
 
95
87
  5秒後に`Load()`が実行されてシーンAのオブジェクトはシーンごと破棄されたのち、シーンBがロードされ、画面の描画もカメラの設定どおりで問題ありませんでした。
96
88
 
89
+
90
+
97
- `Debug.Log(SceneManager.UnloadScene("A"));`もコンソール`true`返ってきした
91
+ どこか別のところ原因あるような気がし
98
92
 
99
93
 
100
94
 
95
+ > また、UnloadScene時の戻り値はどの場合でもfalseでした。
96
+
97
+
98
+
101
- どこか別のところに原因があような気します。
99
+ コメントアウトしてい部分です
100
+
101
+ シーンAのみロードしている状態でシーンAを破棄し、シーンBをロードした場合は`false`、
102
+
103
+ 複数シーンをロードしている状態で全てのシーンを破棄し、シーンBをロードした場合は`true`が
104
+
105
+ 返ってきました。
106
+
107
+ `UnloadScene()`はマルチシーン時に使うものなのでロードされている唯一のシーンを破棄、別のシーンをロードするといった使い方はサポートしていないようです。