回答編集履歴

1

回答についたコメントを見てコードを追記した

2021/08/31 10:20

投稿

bboydaisuke
bboydaisuke

スコア5291

test CHANGED
@@ -3,3 +3,89 @@
3
3
 
4
4
 
5
5
  あとは [Playground の使い方](http://bboydaisuke.wp.xdomain.jp/2021/04/25/playground/#1_%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%EF%BC%88%E8%87%AA%E6%A9%9F%EF%BC%89%E3%82%92%E4%BD%9C%E3%82%8B)でやっているように Rigidbody2D の Mass や Linear Drag を調整したら加速の具合を調節できます。
6
+
7
+
8
+
9
+ **追記**
10
+
11
+
12
+
13
+ 解答についたコメントへの返信としてコードを追記します。
14
+
15
+
16
+
17
+ ```csharp
18
+
19
+ using UnityEngine;
20
+
21
+
22
+
23
+ public class Generator : MonoBehaviour
24
+
25
+ {
26
+
27
+ [Tooltip("生成するプレハブ")]
28
+
29
+ [SerializeField] AutoMove m_autoMoveObject = default;
30
+
31
+ [Tooltip("生成する間隔(秒)")]
32
+
33
+ [SerializeField] float m_generateInterval = 1.0f;
34
+
35
+ [Tooltip("生成されるたびにこの倍率で速度が上がる")]
36
+
37
+ [SerializeField] float m_speedIncreaseRatio = 1.0f;
38
+
39
+ float m_speedRadio = 1;
40
+
41
+ float m_timer = 0;
42
+
43
+
44
+
45
+ private void Start()
46
+
47
+ {
48
+
49
+ Generate();
50
+
51
+ }
52
+
53
+
54
+
55
+ private void Update()
56
+
57
+ {
58
+
59
+ m_timer += Time.deltaTime;
60
+
61
+
62
+
63
+ if (m_timer > m_generateInterval)
64
+
65
+ {
66
+
67
+ m_timer = 0;
68
+
69
+ Generate();
70
+
71
+ }
72
+
73
+ }
74
+
75
+
76
+
77
+ public void Generate()
78
+
79
+ {
80
+
81
+ var o = Instantiate(m_autoMoveObject, this.transform.position, m_autoMoveObject.transform.rotation);
82
+
83
+ o.direction *= m_speedRadio;
84
+
85
+ m_speedRadio *= m_speedIncreaseRatio;
86
+
87
+ }
88
+
89
+ }
90
+
91
+ ```