質問編集履歴

1

質問内容の修正

2019/09/24 04:11

投稿

yoshiteru21
yoshiteru21

スコア44

test CHANGED
File without changes
test CHANGED
@@ -3,3 +3,137 @@
3
3
  破壊して、同じスクリプトを付けた敵を攻撃した際にHP=0のままのため、すぐに破壊されます。
4
4
 
5
5
  HPをInspectorで設定した値に戻すにはどのようにすればよろしいのでしょうか?
6
+
7
+
8
+
9
+ Enemy_HPに値を設定しています。
10
+
11
+ こちらプレイヤーに付けているアクションのスクリプトの一部です。
12
+
13
+ ``` void OnTriggerEnter2D(Collider2D col)
14
+
15
+ {
16
+
17
+ //敵の時オブジェクトを破壊
18
+
19
+ if (col.gameObject.tag == "Enemy")
20
+
21
+ {
22
+
23
+ if (Action1)
24
+
25
+ {
26
+
27
+ enemy1script.Enemy_HP -= 10;
28
+
29
+ }
30
+
31
+ else if (Action2)
32
+
33
+ {
34
+
35
+ enemy1script.Enemy_HP -= 20;
36
+
37
+ }
38
+
39
+
40
+
41
+ if (enemy1script.Enemy_HP <= 0)
42
+
43
+ {
44
+
45
+ EnemyDestroy = true;
46
+
47
+ Debug.Log("damage");
48
+
49
+ // Instantiate(explosion, col.gameObject.transform.position, col.gameObject.transform.rotation);
50
+
51
+ }
52
+
53
+ }
54
+
55
+
56
+
57
+
58
+
59
+ }
60
+
61
+ コード
62
+
63
+ ```
64
+
65
+ こちら破壊され、アイテムを出現させるスクリプトの一部です。
66
+
67
+ ``` private void OnTriggerEnter2D(Collider2D col)
68
+
69
+ {
70
+
71
+ if(col.gameObject.tag == "UnityChan")
72
+
73
+ {
74
+
75
+ if(actionscript.EnemyDestroy == true)
76
+
77
+ {
78
+
79
+ // if (Random.Range(0, 1) == 0)
80
+
81
+ // {
82
+
83
+ Debug.Log("asaa");
84
+
85
+ Instantiate(explosion, gameObject.transform.position, gameObject.transform.rotation);
86
+
87
+ Destroy(gameObject);
88
+
89
+ Instantiate(item, gameObject.transform.position, gameObject.transform.rotation);
90
+
91
+ if (ItemDrop == "Tue")
92
+
93
+ {
94
+
95
+ Tue = true;
96
+
97
+ }
98
+
99
+ else if (ItemDrop == "Soard")
100
+
101
+ {
102
+
103
+ Soard = true;
104
+
105
+ }
106
+
107
+ else if (ItemDrop == "Gun")
108
+
109
+ {
110
+
111
+ Gun = true;
112
+
113
+ }
114
+
115
+ actionscript.EnemyDestroy = false;
116
+
117
+ // enemy1script.Enemy_HP = 100;
118
+
119
+ // }
120
+
121
+ }
122
+
123
+
124
+
125
+ }
126
+
127
+ }
128
+
129
+ コード
130
+
131
+ ```
132
+
133
+ まず、アクションのスクリプトにてHPを減らし、アイテムのスクリプトにて0以下になれば破壊、アイテムを出現させるというものです。
134
+
135
+ アイテムのスクリプトにてenemy1script.Enemy_HP=100;で無理やりHPを初期値に戻しましたが、こちらを
136
+
137
+ enemy1script.Enemy_HP=Inspectorで設定した値
138
+
139
+ にするにはどうすれば良いのでしょうか?