回答編集履歴
3
コードの修正、不必要な記述の削除
answer
CHANGED
@@ -3,14 +3,6 @@
|
|
3
3
|
1. 宣言のない変数があるコードは示さない
|
4
4
|
2. インデントの壊れたコードは示さない
|
5
5
|
|
6
|
-
> 1,ターゲットのいない時は一定の向きに飛ぶ
|
7
|
-
|
8
|
-
こちらは(「一定の向き」の速度ベクトルが定義されていないため)現状から少し変えるだけでは実装できないので、
|
9
|
-
|
10
|
-
> 3,ターゲットがなくなった際に現在動いている方向に直進して抜けていく
|
11
|
-
|
12
|
-
これについて示しておきます。
|
13
|
-
|
14
6
|
```csharp
|
15
7
|
using UnityEngine;
|
16
8
|
|
@@ -20,7 +12,7 @@
|
|
20
12
|
Rigidbody2D rigid;
|
21
13
|
GameObject target;
|
22
14
|
Vector3 acceleration;
|
23
|
-
float period =
|
15
|
+
float period = 3f;
|
24
16
|
Vector3 velocity;
|
25
17
|
|
26
18
|
void Start()
|
@@ -28,6 +20,7 @@
|
|
28
20
|
position = transform.position;
|
29
21
|
rigid = GetComponent<Rigidbody2D>();
|
30
22
|
target = GameObject.FindWithTag("Enemy");
|
23
|
+
velocity = new Vector3(3f, 5f, 0); // 初速
|
31
24
|
}
|
32
25
|
|
33
26
|
void Update()
|
@@ -41,16 +34,20 @@
|
|
41
34
|
if (target && target.activeSelf)
|
42
35
|
{
|
43
36
|
var diff = target.transform.position - transform.position; //ターゲットとの距離
|
37
|
+
|
44
38
|
acceleration += (diff - velocity * period) * 2f / (period * period); //加速度a = 2(d-vt) / t*t
|
39
|
+
|
45
40
|
period -= Time.deltaTime; //period秒後に着弾
|
46
|
-
|
47
41
|
if (period < 0f)
|
48
42
|
{
|
49
43
|
return;
|
50
44
|
}
|
51
|
-
|
52
45
|
velocity += acceleration * Time.deltaTime; //v = at
|
53
46
|
}
|
47
|
+
else if (!target)
|
48
|
+
{
|
49
|
+
target = GameObject.FindWithTag("Enemy");
|
50
|
+
}
|
54
51
|
|
55
52
|
position += velocity * Time.deltaTime; //d = vt
|
56
53
|
transform.position = position;
|
2
補足の追加
answer
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
1. 宣言のない変数があるコードは示さない
|
4
4
|
2. インデントの壊れたコードは示さない
|
5
5
|
|
6
|
+
> 1,ターゲットのいない時は一定の向きに飛ぶ
|
7
|
+
|
8
|
+
こちらは(「一定の向き」の速度ベクトルが定義されていないため)現状から少し変えるだけでは実装できないので、
|
9
|
+
|
6
10
|
> 3,ターゲットがなくなった際に現在動いている方向に直進して抜けていく
|
7
11
|
|
8
12
|
これについて示しておきます。
|
1
注釈の追加
answer
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
1. 宣言のない変数があるコードは示さない
|
4
4
|
2. インデントの壊れたコードは示さない
|
5
5
|
|
6
|
+
> 3,ターゲットがなくなった際に現在動いている方向に直進して抜けていく
|
7
|
+
|
8
|
+
これについて示しておきます。
|
9
|
+
|
6
10
|
```csharp
|
7
11
|
using UnityEngine;
|
8
12
|
|