質問編集履歴

9

誤字

2018/08/14 23:20

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -320,7 +320,7 @@
320
320
 
321
321
 
322
322
 
323
- 「TitleScene(遷移先のシーン)」へ遷移しております。
323
+ 「TitleScene(遷移先のシーン)」へ遷移しております。
324
324
 
325
325
 
326
326
 

8

誤字の修正

2018/08/14 23:20

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -320,7 +320,7 @@
320
320
 
321
321
 
322
322
 
323
- 「TitleScene(遷移先のシーン)」への遷移を想定しております。
323
+ 「TitleScene(遷移先のシーン)」への遷移しております。
324
324
 
325
325
 
326
326
 

7

タイトルが曖昧だったので修正しました

2018/08/14 23:07

投稿

reishisu
reishisu

スコア39

test CHANGED
@@ -1 +1 @@
1
- 【Unity】シーンの非同期処理について
1
+ 【Unity】シーンの非同期処理について(Now Loadingの機能を実装したい)
test CHANGED
File without changes

6

説明を追加しました

2018/08/14 18:14

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- Debug.LogでLoadingSceneクラスの色々な部分を表示させてみましたが思うように動作していなくて個人的に原因は、2つのゲームオブジェクト(動画関連のゲームオブジェクトと音楽関連のゲームオブジェクト)に対してDontDestroyOnLoadを行なって残るようにした為と考えたのですがその部分をコメントアウトして実行しても変わりませんでした。
13
+ Debug.LogでLoadingSceneクラスの色々な部分を表示させてみましたが思うように動作していなくて個人的に原因は、3つのゲームオブジェクト(シーン遷移に関するゲームオブジェクト、動画関連のゲームオブジェクトと音楽関連のゲームオブジェクト)に対してDontDestroyOnLoadを行なって残るようにした為と考えたのですがその部分をコメントアウトして実行しても変わりませんでした。
14
14
 
15
15
 
16
16
 

5

説明の追加

2018/08/14 15:57

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -22,15 +22,21 @@
22
22
 
23
23
 
24
24
 
25
+ 【追記】
26
+
27
+ OpeningManagerクラスとSceneControllerクラスのコードを追加しました。
28
+
29
+
30
+
25
31
  ### 問題
26
32
 
27
33
  0. async.allowSceneActivation = false;
28
34
 
29
35
  LoadingSceneクラスの行で勝手に遷移されないようにしているのに勝手にTitleSceneに遷移される。
30
36
 
31
- 1. 遷移する際にロード画面が出てくるはずなのにフリーズして遷移されてしまう。
37
+ 1. 遷移する際にロード画面が出てくるはずなのに一瞬フリーズして遷移されてしまう。
32
-
38
+
33
- 2. whileを抜けた後の行が実行されていない。
39
+ 2. LoadingSceneクラスのwhileを抜けた後の行が実行されていない。
34
40
 
35
41
 
36
42
 

4

説明の追加

2018/08/14 15:53

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  0. async.allowSceneActivation = false;
28
28
 
29
- の行で勝手に遷移されないようにしているのに勝手にTitleSceneに遷移される。
29
+ LoadingSceneクラスの行で勝手に遷移されないようにしているのに勝手にTitleSceneに遷移される。
30
30
 
31
31
  1. 遷移する際にロード画面が出てくるはずなのにフリーズして遷移されてしまう。
32
32
 
@@ -306,11 +306,11 @@
306
306
 
307
307
  実行結果は
308
308
 
309
- 「OpeningScene(最初に読み込まれるシーン)」
309
+ 「OpeningScene(最初に読み込まれるシーン。OpeningSceneクラスとSceneControllerクラスのインスタンスを持っている)」
310
310
 
311
311
 
312
312
 
313
- 「LoadingScene(このクリプトを実行しているシーン)」
313
+ 「LoadingScene(LoadingSceneクラスを実行しているシーン)」
314
314
 
315
315
 
316
316
 

3

書式を改善しました

2018/08/14 15:49

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  ### 該当のソースコード
40
40
 
41
- OpeningSceneでTitleSceneへ遷移させるようにすクラス(実際に遷移させる処理では【SceneController】クラスのメソッドを実行している)
41
+ 最初に読み込まれるOpeningSceneでTitleSceneへ遷移させるように命令をだすクラス(実際には【SceneController】クラスのメソッドを実行している)
42
42
 
43
43
  ```C#
44
44
 
@@ -60,8 +60,6 @@
60
60
 
61
61
 
62
62
 
63
-
64
-
65
63
  /// <summary>
66
64
 
67
65
  /// シーンが呼ばれた際に最初に読み込まれる関数
@@ -84,8 +82,6 @@
84
82
 
85
83
 
86
84
 
87
-
88
-
89
85
  /// <summary>
90
86
 
91
87
  /// 毎フレーム呼び出されるメソッド

2

コードを追加しました

2018/08/14 15:46

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -38,10 +38,174 @@
38
38
 
39
39
  ### 該当のソースコード
40
40
 
41
-
41
+ OpeningSceneでTitleSceneへ遷移させるようにするクラス(実際に遷移させる処理では【SceneController】クラスのメソッドを実行している)
42
42
 
43
43
  ```C#
44
44
 
45
+ using UnityEngine;
46
+
47
+
48
+
49
+ /// <summary>
50
+
51
+ /// オープニングシーンを管理するクラス
52
+
53
+ /// </summary>
54
+
55
+ public class OpeningManager : MonoBehaviour {
56
+
57
+
58
+
59
+ public static bool loadTwice; // 読み込みが2回目以降か判定する
60
+
61
+
62
+
63
+
64
+
65
+ /// <summary>
66
+
67
+ /// シーンが呼ばれた際に最初に読み込まれる関数
68
+
69
+ /// </summary>
70
+
71
+ private void Awake() {
72
+
73
+ // 読み込みが2回目以降か?
74
+
75
+ if (loadTwice) MovieManager.instance.SetTargetCamera( Camera.main );
76
+
77
+ else loadTwice = true;
78
+
79
+ // すぐ再生させたいので再生スイッチをオンにする
80
+
81
+ MovieManager.PlaySwitchFlg = true;
82
+
83
+ }
84
+
85
+
86
+
87
+
88
+
89
+ /// <summary>
90
+
91
+ /// 毎フレーム呼び出されるメソッド
92
+
93
+ /// </summary>
94
+
95
+ private void Update() {
96
+
97
+
98
+
99
+ // 再生スイッチがON && 再生中
100
+
101
+ if ( MovieManager.PlaySwitchFlg && MovieManager.instance.MovieIsPlaying() ) {
102
+
103
+ // クリックする
104
+
105
+ if ( Input.GetMouseButtonDown(0) ) {
106
+
107
+ SoundManager.instance.PlayClickSE(0);
108
+
109
+ MovieManager.instance.StopMovie();
110
+
111
+ SceneController.instance.LoadTitle();
112
+
113
+ }
114
+
115
+ double remainingTime = MovieManager.instance.GetMovieClipLength() - MovieManager.instance.GetPlayingPoint();
116
+
117
+ // 再生時間が0.05秒を切ったら終了して次のシーンへ
118
+
119
+ if ( remainingTime < 0.05 ) {
120
+
121
+ MovieManager.instance.StopMovie();
122
+
123
+ SceneController.instance.LoadTitle();
124
+
125
+ }
126
+
127
+ }
128
+
129
+ }
130
+
131
+ }
132
+
133
+
134
+
135
+ ```
136
+
137
+
138
+
139
+ OpeningSceneで呼び出されるクラス(実際にシーンの遷移処理は【LoadingScene】クラスが行なっている)
140
+
141
+ ```C#
142
+
143
+ using UnityEngine;
144
+
145
+ using UnityEngine.SceneManagement;
146
+
147
+
148
+
149
+ /// <summary>
150
+
151
+ /// シーンの遷移をコントロールするクラス
152
+
153
+ /// </summary>
154
+
155
+ public class SceneController : MonoBehaviour {
156
+
157
+
158
+
159
+ public static SceneController instance; // シングルトンインスタンス
160
+
161
+
162
+
163
+ /// <summary>
164
+
165
+ /// シーンが呼ばれた際に最初に読み込まれる関数
166
+
167
+ /// </summary>
168
+
169
+ private void Awake() {
170
+
171
+ if (instance == null) {
172
+
173
+ instance = this;
174
+
175
+ DontDestroyOnLoad(gameObject);
176
+
177
+ } else Destroy(gameObject);
178
+
179
+ }
180
+
181
+
182
+
183
+ /// <summary>
184
+
185
+ /// タイトルのシーンをロードする
186
+
187
+ /// </summary>
188
+
189
+ public void LoadTitle() {
190
+
191
+ SoundManager.instance.PlayBGM(0);
192
+
193
+ LoadingScene.next = "TitleScene";
194
+
195
+ SceneManager.LoadScene("LoadingScene");
196
+
197
+ }
198
+
199
+ }
200
+
201
+ ```
202
+
203
+
204
+
205
+ 実際にLoadingSceneからTitleSceneへ遷移させるクラス
206
+
207
+ ```C#
208
+
45
209
  using System.Collections;
46
210
 
47
211
  using UnityEngine;

1

誤字

2018/08/14 15:44

投稿

reishisu
reishisu

スコア39

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ですが、ロード中画面にロード中と書かれた画像を表示するように作成しているのですが全く表示されておらず勝手に遷移されてしまい困っております。
9
+ ですが、ロード中画面にロード中と書かれた画像を表示するように作成しているのですが全く表示されておらず勝手に遷移されてしまい困っております。
10
10
 
11
11
 
12
12