回答編集履歴
1
追記
answer
CHANGED
@@ -8,4 +8,58 @@
|
|
8
8
|
> プレファブをnullにした後、
|
9
9
|
|
10
10
|
この場合、「プレハブから生成したオブジェクト」と言ったほうが正しいです。
|
11
|
-
プレハブはシーン上に生成するオブジェクトの元となるものを指すので、そこから生成したものはプレハブとは言わないです。
|
11
|
+
プレハブはシーン上に生成するオブジェクトの元となるものを指すので、そこから生成したものはプレハブとは言わないです。
|
12
|
+
|
13
|
+
---
|
14
|
+
|
15
|
+
追記:
|
16
|
+
私が伝えたかった内容としては、以下のソースコードのような感じです。
|
17
|
+
ただ、注意点があり、以下の通りになります。
|
18
|
+
- 動作未確認なので、バグやエラーがあるかもしれません
|
19
|
+
- 意図を伝えることを優先したため、よいソースコードではないと思いますので、適宜変更してください
|
20
|
+
|
21
|
+
```C#
|
22
|
+
public class Desert_load5 : MonoBehaviour
|
23
|
+
{
|
24
|
+
public List<Human_Status> Chara = new List<Human_Status>();
|
25
|
+
|
26
|
+
void Start()
|
27
|
+
{
|
28
|
+
// プレハブからオブジェクトを生成
|
29
|
+
GameObject obj = Instantiate(~) as GameObject;
|
30
|
+
|
31
|
+
// オブジェクトからTrigger3を取得
|
32
|
+
Trigger3 trigger = obj.GetComponent<Trigger3>();
|
33
|
+
|
34
|
+
// Trigger3に、Desert_load5のインスタンスを設定
|
35
|
+
trigger.DesertLoad5Object = this;
|
36
|
+
|
37
|
+
// オブジェクトからHuman_Statusを取得
|
38
|
+
Human_Status human_status = obj.GetComponent<Human_Status>();
|
39
|
+
|
40
|
+
// Charaリストに要素を追加
|
41
|
+
Chara.Add(human_status);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
```
|
45
|
+
|
46
|
+
```C#
|
47
|
+
public class Trigger3 : MonoBehaviour
|
48
|
+
{
|
49
|
+
public Desert_load5 DesertLoad5Object;
|
50
|
+
public GameObject M_obj;
|
51
|
+
|
52
|
+
void OnTriggerEnter2D(Collider2D c)
|
53
|
+
{
|
54
|
+
if (c.gameObject.tag == "Hit")
|
55
|
+
{
|
56
|
+
// CharaリストにあるM_objのHuman_Statusを削除
|
57
|
+
Human_Status human_status = M_obj.GetComponent<Human_Status>();
|
58
|
+
DesertLoad5Object.Chara.Remove(human_status);
|
59
|
+
|
60
|
+
GameObject.Destroy(M_obj);
|
61
|
+
M_obj = null;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
65
|
+
```
|