回答編集履歴
2
コメントを受けて追記
answer
CHANGED
@@ -2,4 +2,17 @@
|
|
2
2
|
Gageをアタッチしているオブジェクトを取得したいのであれば、~~GetComponent<Gage>()~~``FindObjectOfType<Gaze>()``を使えばよいので、staticにする必要はありません。
|
3
3
|
|
4
4
|
また、static変数としてGageMovedが定義されておりますが、こうするとシーンチェンジした後もfalseにリセットされないため、不具合の原因になります。
|
5
|
-
よって、これもstaticにしない方がよいでしょう。
|
5
|
+
よって、これもstaticにしない方がよいでしょう。
|
6
|
+
|
7
|
+
---
|
8
|
+
|
9
|
+
コメントを受けて追記:
|
10
|
+
FindObjectsOfType<Gage>()の返り値は配列なので、以下のようにループ内で各Gageの関数を呼び出す必要があります。
|
11
|
+
|
12
|
+
```C#
|
13
|
+
Gage[] gageArray = FindObjectsOfType<Gage>();
|
14
|
+
foreach (Gage gage in gageArray)
|
15
|
+
{
|
16
|
+
gage.MOVEGage(~);
|
17
|
+
}
|
18
|
+
```
|
1
関数が間違っていたので修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
「staticにしないと外部から呼び出せない」と思っているのであれば、それは間違いです。
|
2
|
-
Gageをアタッチしているオブジェクトを取得したいのであれば、
|
2
|
+
Gageをアタッチしているオブジェクトを取得したいのであれば、~~GetComponent<Gage>()~~``FindObjectOfType<Gaze>()``を使えばよいので、staticにする必要はありません。
|
3
3
|
|
4
4
|
また、static変数としてGageMovedが定義されておりますが、こうするとシーンチェンジした後もfalseにリセットされないため、不具合の原因になります。
|
5
5
|
よって、これもstaticにしない方がよいでしょう。
|