質問するログイン新規登録

質問編集履歴

9

誤字

2018/08/14 23:20

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -159,7 +159,7 @@
159
159
 
160
160
  「LoadingScene(LoadingSceneクラスを実行しているシーン)」
161
161
 
162
- 「TitleScene(遷移先のシーン)」へ遷移しております。
162
+ 「TitleScene(遷移先のシーン)」へ遷移しております。
163
163
 
164
164
  ![イメージ説明](869606fbdc1a20a9912d65fc8a4ee1ca.png)
165
165
 

8

誤字の修正

2018/08/14 23:20

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -159,7 +159,7 @@
159
159
 
160
160
  「LoadingScene(LoadingSceneクラスを実行しているシーン)」
161
161
 
162
- 「TitleScene(遷移先のシーン)」への遷移を想定しております。
162
+ 「TitleScene(遷移先のシーン)」への遷移しております。
163
163
 
164
164
  ![イメージ説明](869606fbdc1a20a9912d65fc8a4ee1ca.png)
165
165
 

7

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

2018/08/14 23:07

投稿

reishisu
reishisu

スコア46

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

6

説明を追加しました

2018/08/14 18:14

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ですが、ロード中に画面にロード中と書かれた画像を表示するように作成しているのですが全く表示されておらず勝手に遷移されてしまい困っております。
6
6
 
7
- Debug.LogでLoadingSceneクラスの色々な部分を表示させてみましたが思うように動作していなくて個人的に原因は、2つのゲームオブジェクト(動画関連のゲームオブジェクトと音楽関連のゲームオブジェクト)に対してDontDestroyOnLoadを行なって残るようにした為と考えたのですがその部分をコメントアウトして実行しても変わりませんでした。
7
+ Debug.LogでLoadingSceneクラスの色々な部分を表示させてみましたが思うように動作していなくて個人的に原因は、3つのゲームオブジェクト(シーン遷移に関するゲームオブジェクト、動画関連のゲームオブジェクトと音楽関連のゲームオブジェクト)に対してDontDestroyOnLoadを行なって残るようにした為と考えたのですがその部分をコメントアウトして実行しても変わりませんでした。
8
8
 
9
9
  ですので申し訳ないですが、どなたか原因が分かる方がいらっしゃいましたら教えて頂きたいです...
10
10
 

5

説明の追加

2018/08/14 15:57

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -10,11 +10,14 @@
10
10
 
11
11
  また、周りに聞ける方もいなく独学で色々なサイトを見ながらやっているのでコルーチンやシーン遷移に関する認識がずれていたら指摘していただきたいです。
12
12
 
13
+ 【追記】
14
+ OpeningManagerクラスとSceneControllerクラスのコードを追加しました。
15
+
13
16
  ### 問題
14
17
  0. async.allowSceneActivation = false;
15
18
  LoadingSceneクラスの行で勝手に遷移されないようにしているのに勝手にTitleSceneに遷移される。
16
- 1. 遷移する際にロード画面が出てくるはずなのにフリーズして遷移されてしまう。
19
+ 1. 遷移する際にロード画面が出てくるはずなのに一瞬フリーズして遷移されてしまう。
17
- 2. whileを抜けた後の行が実行されていない。
20
+ 2. LoadingSceneクラスのwhileを抜けた後の行が実行されていない。
18
21
 
19
22
 
20
23
  ### 該当のソースコード

4

説明の追加

2018/08/14 15:53

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ### 問題
14
14
  0. async.allowSceneActivation = false;
15
- の行で勝手に遷移されないようにしているのに勝手にTitleSceneに遷移される。
15
+ LoadingSceneクラスの行で勝手に遷移されないようにしているのに勝手にTitleSceneに遷移される。
16
16
  1. 遷移する際にロード画面が出てくるはずなのにフリーズして遷移されてしまう。
17
17
  2. whileを抜けた後の行が実行されていない。
18
18
 
@@ -152,9 +152,9 @@
152
152
 
153
153
  ### 実行結果
154
154
  実行結果は
155
- 「OpeningScene(最初に読み込まれるシーン)」
155
+ 「OpeningScene(最初に読み込まれるシーン。OpeningSceneクラスとSceneControllerクラスのインスタンスを持っている)」
156
156
 
157
- 「LoadingScene(このスリプトを実行しているシーン)」
157
+ 「LoadingScene(LoadingSceneラスを実行しているシーン)」
158
158
 
159
159
  「TitleScene(遷移先のシーン)」への遷移を想定しております。
160
160
 

3

書式を改善しました

2018/08/14 15:49

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  ### 該当のソースコード
21
- OpeningSceneでTitleSceneへ遷移させるようにすクラス(実際に遷移させる処理では【SceneController】クラスのメソッドを実行している)
21
+ 最初に読み込まれるOpeningSceneでTitleSceneへ遷移させるように命令をだすクラス(実際には【SceneController】クラスのメソッドを実行している)
22
22
  ```C#
23
23
  using UnityEngine;
24
24
 
@@ -29,7 +29,6 @@
29
29
 
30
30
  public static bool loadTwice; // 読み込みが2回目以降か判定する
31
31
 
32
-
33
32
  /// <summary>
34
33
  /// シーンが呼ばれた際に最初に読み込まれる関数
35
34
  /// </summary>
@@ -41,7 +40,6 @@
41
40
  MovieManager.PlaySwitchFlg = true;
42
41
  }
43
42
 
44
-
45
43
  /// <summary>
46
44
  /// 毎フレーム呼び出されるメソッド
47
45
  /// </summary>

2

コードを追加しました

2018/08/14 15:46

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -18,8 +18,90 @@
18
18
 
19
19
 
20
20
  ### 該当のソースコード
21
+ OpeningSceneでTitleSceneへ遷移させるようにするクラス(実際に遷移させる処理では【SceneController】クラスのメソッドを実行している)
22
+ ```C#
23
+ using UnityEngine;
21
24
 
25
+ /// <summary>
26
+ /// オープニングシーンを管理するクラス
27
+ /// </summary>
28
+ public class OpeningManager : MonoBehaviour {
29
+
30
+ public static bool loadTwice; // 読み込みが2回目以降か判定する
31
+
32
+
33
+ /// <summary>
34
+ /// シーンが呼ばれた際に最初に読み込まれる関数
35
+ /// </summary>
36
+ private void Awake() {
37
+ // 読み込みが2回目以降か?
38
+ if (loadTwice) MovieManager.instance.SetTargetCamera( Camera.main );
39
+ else loadTwice = true;
40
+ // すぐ再生させたいので再生スイッチをオンにする
41
+ MovieManager.PlaySwitchFlg = true;
42
+ }
43
+
44
+
45
+ /// <summary>
46
+ /// 毎フレーム呼び出されるメソッド
47
+ /// </summary>
48
+ private void Update() {
49
+
50
+ // 再生スイッチがON && 再生中
51
+ if ( MovieManager.PlaySwitchFlg && MovieManager.instance.MovieIsPlaying() ) {
52
+ // クリックする
53
+ if ( Input.GetMouseButtonDown(0) ) {
54
+ SoundManager.instance.PlayClickSE(0);
55
+ MovieManager.instance.StopMovie();
56
+ SceneController.instance.LoadTitle();
57
+ }
58
+ double remainingTime = MovieManager.instance.GetMovieClipLength() - MovieManager.instance.GetPlayingPoint();
59
+ // 再生時間が0.05秒を切ったら終了して次のシーンへ
60
+ if ( remainingTime < 0.05 ) {
61
+ MovieManager.instance.StopMovie();
62
+ SceneController.instance.LoadTitle();
63
+ }
64
+ }
65
+ }
66
+ }
67
+
68
+ ```
69
+
70
+ OpeningSceneで呼び出されるクラス(実際にシーンの遷移処理は【LoadingScene】クラスが行なっている)
22
71
  ```C#
72
+ using UnityEngine;
73
+ using UnityEngine.SceneManagement;
74
+
75
+ /// <summary>
76
+ /// シーンの遷移をコントロールするクラス
77
+ /// </summary>
78
+ public class SceneController : MonoBehaviour {
79
+
80
+ public static SceneController instance; // シングルトンインスタンス
81
+
82
+ /// <summary>
83
+ /// シーンが呼ばれた際に最初に読み込まれる関数
84
+ /// </summary>
85
+ private void Awake() {
86
+ if (instance == null) {
87
+ instance = this;
88
+ DontDestroyOnLoad(gameObject);
89
+ } else Destroy(gameObject);
90
+ }
91
+
92
+ /// <summary>
93
+ /// タイトルのシーンをロードする
94
+ /// </summary>
95
+ public void LoadTitle() {
96
+ SoundManager.instance.PlayBGM(0);
97
+ LoadingScene.next = "TitleScene";
98
+ SceneManager.LoadScene("LoadingScene");
99
+ }
100
+ }
101
+ ```
102
+
103
+ 実際にLoadingSceneからTitleSceneへ遷移させるクラス
104
+ ```C#
23
105
  using System.Collections;
24
106
  using UnityEngine;
25
107
  using UnityEngine.SceneManagement;

1

誤字

2018/08/14 15:44

投稿

reishisu
reishisu

スコア46

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  現在Unityでシーンを非同期でロードして遷移する処理を作成しています。
4
4
 
5
- ですが、ロード中画面にロード中と書かれた画像を表示するように作成しているのですが全く表示されておらず勝手に遷移されてしまい困っております。
5
+ ですが、ロード中画面にロード中と書かれた画像を表示するように作成しているのですが全く表示されておらず勝手に遷移されてしまい困っております。
6
6
 
7
7
  Debug.LogでLoadingSceneクラスの色々な部分を表示させてみましたが思うように動作していなくて個人的に原因は、2つのゲームオブジェクト(動画関連のゲームオブジェクトと音楽関連のゲームオブジェクト)に対してDontDestroyOnLoadを行なって残るようにした為と考えたのですがその部分をコメントアウトして実行しても変わりませんでした。
8
8