質問編集履歴

1

追加で試した事の記載とそれによる問題点の修正

2021/02/05 08:50

投稿

Koma2000
Koma2000

スコア3

test CHANGED
File without changes
test CHANGED
@@ -24,9 +24,31 @@
24
24
 
25
25
 
26
26
 
27
+ [追記・修正]
28
+
27
29
  全く動かないです
28
30
 
31
+
32
+
29
- 特にErrorメッセージなどは出いません
33
+ 下記の試した事で追加で色々と調べみた結果
34
+
35
+ 今までInitで「Debug.Log」してたのですが
36
+
37
+ 「Update」のほうでしてみると値が初期化されている事が分かりました
38
+
39
+
40
+
41
+ m_velocity = shotForward * Speed;
42
+
43
+ m_velocity = new Vector3(0, 0, 0)
44
+
45
+
46
+
47
+ という処理になってしまうようです
48
+
49
+ これらはどうすれば初期化後「m_velocity = shotForward * Speed;」を行えるように出来るのか現状わかりません
50
+
51
+ どうすればよろしいでしょうか?
30
52
 
31
53
 
32
54
 
@@ -106,6 +128,36 @@
106
128
 
107
129
 
108
130
 
131
+ 追記:弾を生成しているプログラム
132
+
133
+ public void Shot(Vector3 mouseWorldPos)
134
+
135
+ {
136
+
137
+ var pos = transform.localPosition; // プレイヤーの位置
138
+
139
+ var rot = transform.localRotation; // プレイヤーの向き
140
+
141
+
142
+
143
+ // 向きの生成(Z成分の除去と正規化)
144
+
145
+ Vector3 shotForward = Vector3.Scale((mouseWorldPos - transform.position), new Vector3(1, 1, 0)).normalized;
146
+
147
+
148
+
149
+ // 発射する弾を生成する
150
+
151
+ var shot = Instantiate(bulletPrefab, pos, rot);
152
+
153
+
154
+
155
+ shot.GetComponent<Bullet>().Init(shotForward);
156
+
157
+ }
158
+
159
+
160
+
109
161
  ```
110
162
 
111
163
 
@@ -148,6 +200,26 @@
148
200
 
149
201
 
150
202
 
203
+ 追加
204
+
205
+ 4.今までInitで「Debug.Log」してたのですが
206
+
207
+ 「Update」のほうでしてみると値が初期化されている事が分かりました
208
+
209
+
210
+
211
+ m_velocity = shotForward * Speed;
212
+
213
+ m_velocity = new Vector3(0, 0, 0)
214
+
215
+
216
+
217
+ という感じの処理になってしまうようです。
218
+
219
+
220
+
221
+
222
+
151
223
 
152
224
 
153
225
  正直色々な所から見よう見まねでやっているのでもしかすると