回答編集履歴

15

文法の修正

2023/06/25 14:53

投稿

blanket
blanket

スコア301

test CHANGED
@@ -21,6 +21,3 @@
21
21
  ```C#
22
22
  IEnumerator FadeoutCoroutine (float time, System.Action action)
23
23
  ```
24
- PausePrefabは最初は非アクティブの状態にしておく。
25
- Pause画面でタイトルボタンを押したとき、時間を再開する。
26
- PauseScriptのResumeGame()関数をボタンで呼び出す。

14

文法の修正、解決策の提示

2023/06/25 11:33

投稿

blanket
blanket

スコア301

test CHANGED
@@ -22,3 +22,5 @@
22
22
  IEnumerator FadeoutCoroutine (float time, System.Action action)
23
23
  ```
24
24
  PausePrefabは最初は非アクティブの状態にしておく。
25
+ Pause画面でタイトルボタンを押したとき、時間を再開する。
26
+ PauseScriptのResumeGame()関数をボタンで呼び出す。

13

文法の修正

2023/06/25 11:01

投稿

blanket
blanket

スコア301

test CHANGED
@@ -21,3 +21,4 @@
21
21
  ```C#
22
22
  IEnumerator FadeoutCoroutine (float time, System.Action action)
23
23
  ```
24
+ PausePrefabは最初は非アクティブの状態にしておく。

12

文法の修正、情報の追加

2023/06/25 09:42

投稿

blanket
blanket

スコア301

test CHANGED
@@ -9,3 +9,15 @@
9
9
  "titleScene"はstring型なので変数(sceneName)を作り、inspectorから設定できるようにするのが良いと思います。
10
10
  または、シーン名をinspectorから設定するのが面倒な場合はこれが参考になります。
11
11
  [【Unity】Inspector で変数にシーンファイルを設定できるようにする「SceneObject」紹介](https://baba-s.hatenablog.com/entry/2017/11/14/110000)
12
+ Fade.csを開いて、以下を追加。
13
+ ```C#
14
+ void ImageFill()
15
+ {
16
+ cutoutRange = 1.0f;
17
+ fade.Range = cutoutRange;
18
+ }
19
+ ```
20
+ 呼び出しは、同スクリプトの関数の最初
21
+ ```C#
22
+ IEnumerator FadeoutCoroutine (float time, System.Action action)
23
+ ```

11

回答の改善

2023/06/23 16:53

投稿

blanket
blanket

スコア301

test CHANGED
@@ -7,3 +7,5 @@
7
7
  [シーン移動時の演出](http://kerotan-factory.xblog.jp/article/491983157.html)
8
8
  urlの本題から下の部分試しましたか?
9
9
  "titleScene"はstring型なので変数(sceneName)を作り、inspectorから設定できるようにするのが良いと思います。
10
+ または、シーン名をinspectorから設定するのが面倒な場合はこれが参考になります。
11
+ [【Unity】Inspector で変数にシーンファイルを設定できるようにする「SceneObject」紹介](https://baba-s.hatenablog.com/entry/2017/11/14/110000)

10

文法の修正、情報の追加

2023/06/23 14:42

投稿

blanket
blanket

スコア301

test CHANGED
@@ -5,3 +5,5 @@
5
5
 
6
6
  フェードアウトフェードインは一方通行のシーン遷移で実装して、タイトルに戻るときは通常のシーン遷移を実装するのが良いと思います。一応おしゃれフェードが簡単に実装できるサイトのurlを載せておきます。こちらでは双方向のおしゃれフェードが実装出来たのを確認しました。
7
7
  [シーン移動時の演出](http://kerotan-factory.xblog.jp/article/491983157.html)
8
+ urlの本題から下の部分試しましたか?
9
+ "titleScene"はstring型なので変数(sceneName)を作り、inspectorから設定できるようにするのが良いと思います。

9

文法の修正

2023/06/17 13:47

投稿

blanket
blanket

スコア301

test CHANGED
@@ -2,4 +2,6 @@
2
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
+
6
+ フェードアウトフェードインは一方通行のシーン遷移で実装して、タイトルに戻るときは通常のシーン遷移を実装するのが良いと思います。一応おしゃれフェードが簡単に実装できるサイトのurlを載せておきます。こちらでは双方向のおしゃれフェードが実装出来たのを確認しました。
5
7
  [シーン移動時の演出](http://kerotan-factory.xblog.jp/article/491983157.html)

8

書式の改善

2023/06/14 09:40

投稿

blanket
blanket

スコア301

test CHANGED
@@ -2,21 +2,4 @@
2
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
-
6
- ```C#
7
- //フェードイン完了
8
- private void FadeInComplete()
9
- {
10
- img.color = new Color(1, 1, 1, 0);
11
- img.fillAmount = 0;
12
- img.raycastTarget = false;
13
- timer = 0.0f;
14
- fadeIn = false;
15
- compFadeIn = true;
16
- firstFadeInComp = true; // 追加
17
- }
18
- ```
19
- 色々試した結果これに落ち着きました。
20
- 改善点の概要
21
- 現在のコドでは、フェードイ・フェードアウト開始と完了を管理するフラグを使用しています。 ただし、フェードインが完了した後にフェードアウトを開始する場合に問題が発生します。
5
+ [シーン移動時演出](http://kerotan-factory.xblog.jp/article/491983157.html)
22
- フェードインが完了した後、遷移先のシーンに移動する前に適切なフェードアウトの処理を行う必要があります。

7

文法の修正

2023/06/14 06:08

投稿

blanket
blanket

スコア301

test CHANGED
@@ -2,3 +2,21 @@
2
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
+
6
+ ```C#
7
+ //フェードイン完了
8
+ private void FadeInComplete()
9
+ {
10
+ img.color = new Color(1, 1, 1, 0);
11
+ img.fillAmount = 0;
12
+ img.raycastTarget = false;
13
+ timer = 0.0f;
14
+ fadeIn = false;
15
+ compFadeIn = true;
16
+ firstFadeInComp = true; // 追加
17
+ }
18
+ ```
19
+ 色々試した結果これに落ち着きました。
20
+ 改善点の概要
21
+ 現在のコードでは、フェードイン・フェードアウトの開始と完了を管理するフラグを使用しています。 ただし、フェードインが完了した後にフェードアウトを開始する場合に問題が発生します。
22
+ フェードインが完了した後、遷移先のシーンに移動する前に適切なフェードアウトの処理を行う必要があります。

6

文法の修正

2023/06/14 01:57

投稿

blanket
blanket

スコア301

test CHANGED
@@ -2,4 +2,3 @@
2
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
- タイトルシーンを2つ用意して一方通行のシーン遷移を実現するのはどうでしょうか?ゲームをクリアするとタイトル画面が変わるというのも面白いと思いました。

5

文法の修正

2023/06/14 01:46

投稿

blanket
blanket

スコア301

test CHANGED
@@ -3,7 +3,3 @@
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
5
  タイトルシーンを2つ用意して一方通行のシーン遷移を実現するのはどうでしょうか?ゲームをクリアするとタイトル画面が変わるというのも面白いと思いました。
6
- また、タイトルシーンは1つでLoadingシーンを間に挟むというのも良いかと思います。
7
-
8
- タイトルシーン→ロードシーン→ステージシーン
9
- ステージシーン→ロードシーン→タイトルシーン

4

書式の改善

2023/06/14 01:44

投稿

blanket
blanket

スコア301

test CHANGED
@@ -3,3 +3,7 @@
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
5
  タイトルシーンを2つ用意して一方通行のシーン遷移を実現するのはどうでしょうか?ゲームをクリアするとタイトル画面が変わるというのも面白いと思いました。
6
+ また、タイトルシーンは1つでLoadingシーンを間に挟むというのも良いかと思います。
7
+
8
+ タイトルシーン→ロードシーン→ステージシーン
9
+ ステージシーン→ロードシーン→タイトルシーン

3

書式の改善

2023/06/14 01:27

投稿

blanket
blanket

スコア301

test CHANGED
@@ -2,3 +2,4 @@
2
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
3
3
  Start関数でfalseに戻しておくことで解決すると思います。
4
4
  ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~
5
+ タイトルシーンを2つ用意して一方通行のシーン遷移を実現するのはどうでしょうか?ゲームをクリアするとタイトル画面が変わるというのも面白いと思いました。

2

文法の修正

2023/06/13 14:31

投稿

blanket
blanket

スコア301

test CHANGED
@@ -1,4 +1,4 @@
1
1
  ~~bool型のgoNextScene変数はfalseだったらシーン遷移をするためにtrueにする処理しかありません。
2
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
3
- Start関数でfalseに戻しておくことで解決すると思います。~~
3
+ Start関数でfalseに戻しておくことで解決すると思います。
4
- ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。
4
+ ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。~~

1

論点がずれていたので修正(今後もあるかもしれません)

2023/06/13 13:46

投稿

blanket
blanket

スコア301

test CHANGED
@@ -1,15 +1,4 @@
1
- ```C# title
2
- private void Update()
3
- {
4
- goNextScene = false;
5
- if (!goNextScene && fade.IsFadeOutComplete())
6
- {
7
- Debug.Log("Go Scene1 again");
8
- SceneManager.LoadScene("stage1");
9
- goNextScene = true;
10
- }
11
- }
12
- ```
13
- bool型のgoNextScene変数はfalseだったらシーン遷移をするためにtrueにする処理しかありません。
1
+ ~~bool型のgoNextScene変数はfalseだったらシーン遷移をするためにtrueにする処理しかありません。
14
2
  おそらくtrueになったままで再度この処理が走った時にtrueだったらif文に入らないとなっているのではないでしょうか?
15
- Start関数でfalseに戻しておくことで解決すると思います。
3
+ Start関数でfalseに戻しておくことで解決すると思います。~~
4
+ ポーズ画面でどんな処理を行っているのか時間を止めているのかが気になります。Time.timeScaleを使っているならポーズUIがDestroyされたらTime.timeScale = 1f;に戻すという処理が必要になります。