回答編集履歴
3
コードの修正、不必要な記述の削除
test
CHANGED
@@ -5,22 +5,6 @@
|
|
5
5
|
1. 宣言のない変数があるコードは示さない
|
6
6
|
|
7
7
|
2. インデントの壊れたコードは示さない
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
> 1,ターゲットのいない時は一定の向きに飛ぶ
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
こちらは(「一定の向き」の速度ベクトルが定義されていないため)現状から少し変えるだけでは実装できないので、
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
> 3,ターゲットがなくなった際に現在動いている方向に直進して抜けていく
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
これについて示しておきます。
|
24
8
|
|
25
9
|
|
26
10
|
|
@@ -42,7 +26,7 @@
|
|
42
26
|
|
43
27
|
Vector3 acceleration;
|
44
28
|
|
45
|
-
float period =
|
29
|
+
float period = 3f;
|
46
30
|
|
47
31
|
Vector3 velocity;
|
48
32
|
|
@@ -57,6 +41,8 @@
|
|
57
41
|
rigid = GetComponent<Rigidbody2D>();
|
58
42
|
|
59
43
|
target = GameObject.FindWithTag("Enemy");
|
44
|
+
|
45
|
+
velocity = new Vector3(3f, 5f, 0); // 初速
|
60
46
|
|
61
47
|
}
|
62
48
|
|
@@ -84,11 +70,13 @@
|
|
84
70
|
|
85
71
|
var diff = target.transform.position - transform.position; //ターゲットとの距離
|
86
72
|
|
73
|
+
|
74
|
+
|
87
75
|
acceleration += (diff - velocity * period) * 2f / (period * period); //加速度a = 2(d-vt) / t*t
|
88
76
|
|
89
|
-
period -= Time.deltaTime; //period秒後に着弾
|
90
77
|
|
91
78
|
|
79
|
+
period -= Time.deltaTime; //period秒後に着弾
|
92
80
|
|
93
81
|
if (period < 0f)
|
94
82
|
|
@@ -98,9 +86,15 @@
|
|
98
86
|
|
99
87
|
}
|
100
88
|
|
89
|
+
velocity += acceleration * Time.deltaTime; //v = at
|
101
90
|
|
91
|
+
}
|
102
92
|
|
93
|
+
else if (!target)
|
94
|
+
|
95
|
+
{
|
96
|
+
|
103
|
-
|
97
|
+
target = GameObject.FindWithTag("Enemy");
|
104
98
|
|
105
99
|
}
|
106
100
|
|
2
補足の追加
test
CHANGED
@@ -5,6 +5,14 @@
|
|
5
5
|
1. 宣言のない変数があるコードは示さない
|
6
6
|
|
7
7
|
2. インデントの壊れたコードは示さない
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
> 1,ターゲットのいない時は一定の向きに飛ぶ
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
こちらは(「一定の向き」の速度ベクトルが定義されていないため)現状から少し変えるだけでは実装できないので、
|
8
16
|
|
9
17
|
|
10
18
|
|
1
注釈の追加
test
CHANGED
@@ -5,6 +5,14 @@
|
|
5
5
|
1. 宣言のない変数があるコードは示さない
|
6
6
|
|
7
7
|
2. インデントの壊れたコードは示さない
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
> 3,ターゲットがなくなった際に現在動いている方向に直進して抜けていく
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
これについて示しておきます。
|
8
16
|
|
9
17
|
|
10
18
|
|