回答編集履歴
2
変えました
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
{
|
9
9
|
if (other.gameObject.CompareTag("Player"))
|
10
10
|
{
|
11
|
-
brain.SummonME(this.gameObject);
|
11
|
+
brain.GetComponent<ItsMeBrain>().SummonME(this.gameObject);
|
12
12
|
Destroy(gameObject);
|
13
13
|
}
|
14
14
|
}
|
@@ -30,7 +30,7 @@
|
|
30
30
|
public void SummonME(GameObject object)
|
31
31
|
{
|
32
32
|
GameObject child = Instantiate(object, respawnMEhere, Quaternion.identity) as gameObject;
|
33
|
-
child.BrainWasMe(this);
|
33
|
+
child.GetComponent<Destroy>().BrainWasMe(this);
|
34
34
|
}
|
35
35
|
}
|
36
36
|
```
|
1
コード書き換えました
test
CHANGED
@@ -1,8 +1,5 @@
|
|
1
|
-
敵オブジェクトをプレハブっていうのに変えて、毎回司令室から呼び出さないとエラー起きると思います。(司令室は別のgameObjectにしてください)
|
2
|
-
|
3
1
|
敵オブジェクトのコード
|
4
2
|
```c#
|
5
|
-
//これは敵objectにつけてください
|
6
3
|
public class Destroy : MonoBehaviour
|
7
4
|
{
|
8
5
|
private GameObject brain; //司令官のことです
|
@@ -28,9 +25,9 @@
|
|
28
25
|
public class ItsMeBrain : MonoBehaviour
|
29
26
|
{
|
30
27
|
public GameObject enemy_object;//inspectorからここに敵のプレハブ入れます
|
31
|
-
public transform respawnMEhere;//スポーン地点のことです
|
28
|
+
public transform respawnMEhere;//スポーン地点のことです これもinspectorから入れてください
|
32
29
|
|
33
|
-
SummonME(GameObject object)
|
30
|
+
public void SummonME(GameObject object)
|
34
31
|
{
|
35
32
|
GameObject child = Instantiate(object, respawnMEhere, Quaternion.identity) as gameObject;
|
36
33
|
child.BrainWasMe(this);
|
@@ -41,3 +38,7 @@
|
|
41
38
|
やったこと:
|
42
39
|
1. Destroyする前に司令室に分身を作るように依頼
|
43
40
|
2. 司令室は分身を言われた場所に召喚
|
41
|
+
|
42
|
+
注意:
|
43
|
+
1. 敵オブジェクトを[プレハブ](https://xr-hub.com/archives/11132)ってのに変える必要があります。詳しくはこのサイト見てください。
|
44
|
+
2. プレハブを直接シーンに置くのではなく、必ず司令室から召喚するようにしてください。そうしないと変数brainは空のままで、エラー起きます(多分)
|