質問するログイン新規登録

質問編集履歴

2

編集

2021/10/26 10:41

投稿

mass02
mass02

スコア56

title CHANGED
File without changes
body CHANGED
@@ -53,5 +53,60 @@
53
53
  }
54
54
  ```
55
55
 
56
+ void FixedUpdate()内で何度も位置を更新してしまう為それを改善しました。
57
+ countで制御する
58
+
59
+
60
+ ```C#
61
+ void FixedUpdate()
62
+ {
63
+ //プレイヤーを追いかける
64
+ if(count == 0)
65
+ {
66
+ Invoke(nameof(SunP), 0.8f);
67
+ }
68
+
69
+ }
70
+
71
+
72
+ //太陽が画面の外に出たら戻る
73
+ private void OnBecameInvisible()
74
+ {
75
+ moveDirection = point.transform.position - transform.position;
76
+ theRB.velocity = moveDirection;
77
+ }
78
+
79
+ //プレイヤーを追う
80
+ void SunP()
81
+ {
82
+ moveDirection = Player.instance.transform.position - transform.position;
83
+ moveDirection.Normalize();
84
+ theRB.velocity = moveDirection * moveSpeed;
85
+ count = 1;
86
+
87
+ }
88
+
89
+
90
+
91
+ //太陽がコライダーで指定した範囲に戻ったら慣性を0にして再度プレイヤーを追う
92
+ void OnTriggerEnter2D(Collider2D collision)
93
+ {
94
+ if (collision.gameObject.tag == "Sun")
95
+ {
96
+ theRB.velocity = Vector3.zero;
97
+ count = 0;
98
+
99
+ }
100
+ }
101
+
102
+
103
+
104
+
105
+ ```
106
+
107
+
108
+
109
+
110
+
56
111
  説明が足りない所があると思いますが、ご指摘頂ければありがたいです。
57
112
  お時間が少し空いている方が居ましたら、お手隙で良いので助言よろしくお願いします。

1

補足

2021/10/26 10:41

投稿

mass02
mass02

スコア56

title CHANGED
File without changes
body CHANGED
@@ -35,6 +35,7 @@
35
35
  //時間が1になったらプレイヤーを追いかける
36
36
  if (time > 1f)
37
37
  {
38
+ //プレイヤーを追う
38
39
  moveDirection = Player.instance.transform.position - transform.position;
39
40
  moveDirection.Normalize();
40
41
  theRB.velocity = moveDirection * moveSpeed;