回答編集履歴

2

Coroutineと勘違いをしていたため修正

2020/06/16 14:48

投稿

MMashiro
MMashiro

スコア2380

test CHANGED
@@ -8,4 +8,16 @@
8
8
 
9
9
  `Invoke("Inventcooling", 0.2f);` で指定されているInventcoolingメソッドも提示のコードに存在しないのでおそらくコード全てを貼っていないものと思われます。
10
10
 
11
- Inventcoolingメソッドの中で WaitForSeconds を使用し inventcool 変数にfalseを代入しているのだとした場合、timeScale = 0 中は WaitForSeconds は機能しないので `yield return null` 等 別の待機方法を考える必要があります
11
+ ~~Inventcoolingメソッドの中で WaitForSeconds を使用し inventcool 変数にfalseを代入しているのだとした場合、timeScale = 0 中は WaitForSeconds は機能しないので `yield return null` 等 別の待機方法を考える必要があります~~
12
+
13
+
14
+
15
+ ---- 追記2 ----
16
+
17
+ Coroutine呼び出しだと勘違いをしていましたInvokeメソッドはtimeScale 0中は動作しない為、
18
+
19
+ Inventcoolingメソッド内でfalseに戻す処理を書いてもInventcoolingは呼び出されない為
20
+
21
+ 別の方法を使用する必要があります
22
+
23
+ (WaitForSecondsを使用しないコルーチンなど)

1

Coroutineに関して追記

2020/06/16 14:48

投稿

MMashiro
MMashiro

スコア2380

test CHANGED
@@ -1,3 +1,11 @@
1
1
  提示のコードだけですとinventcoolがfalseになる個所が存在しません
2
2
 
3
3
  Updateは実行されていてもinventcoolがfalseにならない為 `Time.timeScale = 1` の処理が走っていないものと思われます
4
+
5
+
6
+
7
+ ---- 追記 ----
8
+
9
+ `Invoke("Inventcooling", 0.2f);` で指定されているInventcoolingメソッドも提示のコードに存在しないのでおそらくコード全てを貼っていないものと思われます。
10
+
11
+ Inventcoolingメソッドの中で WaitForSeconds を使用し inventcool 変数にfalseを代入しているのだとした場合、timeScale = 0 中は WaitForSeconds は機能しないので `yield return null` 等 別の待機方法を考える必要があります