回答編集履歴

3

サンプルコードを修正しました

2018/01/20 01:28

投稿

cloudmaterial
cloudmaterial

スコア163

test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
  }else
124
124
 
125
- if (targetE.Length > 1) {
125
+ if (targetE.Length >= 1) {
126
126
 
127
127
  Debug.Log("敵はまだ"+ targetE.Length+"体存在する");
128
128
 

2

コメントを修正しました

2018/01/20 01:28

投稿

cloudmaterial
cloudmaterial

スコア163

test CHANGED
@@ -11,6 +11,8 @@
11
11
 
12
12
 
13
13
  Vector3.Distance(targetE.transform.position, transform.position)で参照し続けているからではないでしょうか。
14
+
15
+
14
16
 
15
17
  敵がnullであったなら計算しないという処理を追加してみるのはどうでしょうか。
16
18
 

1

サンプルコードを追加しました

2018/01/19 13:04

投稿

cloudmaterial
cloudmaterial

スコア163

test CHANGED
@@ -71,3 +71,75 @@
71
71
  ```
72
72
 
73
73
  これを応用すれば全滅判定は出来ると思います。
74
+
75
+   
76
+
77
+ ----
78
+
79
+ 追加サンプルコード
80
+
81
+ ```C#
82
+
83
+ using UnityEngine;
84
+
85
+
86
+
87
+ public class ExistEnemyCount : MonoBehaviour {
88
+
89
+
90
+
91
+ GameObject[] targetE;
92
+
93
+
94
+
95
+ void Start() {
96
+
97
+
98
+
99
+ ExistEnemy();
100
+
101
+ }
102
+
103
+
104
+
105
+ void Update() {
106
+
107
+
108
+
109
+ if (Input.GetKeyDown(KeyCode.G)) {
110
+
111
+
112
+
113
+ ExistEnemy();
114
+
115
+
116
+
117
+ if (targetE.Length == 0) {
118
+
119
+ Debug.Log("敵はいない");
120
+
121
+ }else
122
+
123
+ if (targetE.Length > 1) {
124
+
125
+ Debug.Log("敵はまだ"+ targetE.Length+"体存在する");
126
+
127
+ }
128
+
129
+ }
130
+
131
+ }
132
+
133
+
134
+
135
+ //シーン内の敵の数をサーチする
136
+
137
+ void ExistEnemy() {
138
+
139
+ targetE = GameObject.FindGameObjectsWithTag("Enemy");
140
+
141
+ }
142
+
143
+ }
144
+
145
+ ```