回答編集履歴

1

コード修正

2019/08/28 08:25

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -1,3 +1,57 @@
1
1
  爆発エフェクト用のオブジェクトの代わりにNiji.csを付けたオブジェクトのプレハブを作って、
2
2
 
3
3
  BulletController.csの`explosionPrefab`にセットすれば動くと思います。
4
+
5
+
6
+
7
+ ---
8
+
9
+
10
+
11
+ 既に生成は出来ているんですね。
12
+
13
+ であれば生成時の位置を保存して加算すればいいので、以下のようにすれば出来るのではないでしょうか。
14
+
15
+
16
+
17
+ ```C#
18
+
19
+ public class Niji : MonoBehaviour
20
+
21
+ {
22
+
23
+ public float speed = 2f;
24
+
25
+ public float radius = 10f;
26
+
27
+
28
+
29
+ Vector3 defPosition; //追加
30
+
31
+
32
+
33
+ void Awake() //Startから変更(Updateの方が先に発動しないようにする)
34
+
35
+ {
36
+
37
+ defPosition = transform.position; //生成時の位置を記録
38
+
39
+ }
40
+
41
+ void Update()
42
+
43
+ {
44
+
45
+ float x = radius * Mathf.Sin(Time.time * speed);
46
+
47
+ float y = radius * Mathf.Cos(Time.time * speed);
48
+
49
+ float z = 0;
50
+
51
+ transform.position = defPosition + new Vector3(x, y, z); //初期位置を足す
52
+
53
+ }
54
+
55
+ }
56
+
57
+ ```