質問編集履歴

2

書式変更

2022/06/22 22:06

投稿

pra
pra

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,99 +1,50 @@
1
- ###前提・実現したいこと
1
+ ### 前提・実現したいこと
2
-
3
2
  Unityでシューティングゲームを作っており、その中でプレイヤーに向かって直線的に向かってくる弾(所謂自機狙い)を作ろうとしています。
4
3
 
5
-
6
-
7
- ###発生している問題・エラーメッセージ
4
+ ### 発生している問題・エラーメッセージ
8
-
9
5
  以下のソースコードで試してみたのですが、弾が敵から全く出てきません。その以外は正常に動いています。エラーメッセージはありませんでした。
10
6
 
11
-
12
-
13
- ###該当のソースコード
7
+ ### 該当のソースコード
14
-
15
8
  (関係ありそうな部分のみ載せています)
16
9
 
17
-
18
-
19
10
  **敵に関するスクリプト**
20
-
21
11
  ```C#
22
-
23
12
  public GameObject target,bullet2;
24
-
25
13
  float frame=0;
26
14
 
27
-
28
-
29
15
  public void Update()
30
-
31
16
  {
32
-
33
17
  //敵の移動
34
-
35
18
  Vector2 direction = new Vector2(5*Mathf.Sin(frame*variable), 0);
36
-
37
19
  GetComponent<Rigidbody2D>().velocity = direction * spaceship.speed;
38
-
39
20
 
40
-
41
21
  //自機狙い弾の生成
42
-
43
22
  if(frame%50==0 && target!=null)
44
-
45
23
  {
46
-
47
24
  Quaternion homingRotate = Quaternion.LookRotation(target.transform.position - transform.position);
48
-
49
25
  Instantiate(bullet2, transform.position, homingRotate);
50
-
51
26
  }
52
-
53
27
 
54
-
55
28
  frame++;
56
-
57
29
  }
58
-
59
30
  ```
60
-
61
31
  **弾に関するスクリプト**
62
-
63
32
  ```C#
64
-
65
33
  public class Bullet_rapid : MonoBehaviour {
66
-
67
34
  public int speed = 4;
68
-
69
35
  public float lifeTime = 5;
70
36
 
71
-
72
-
73
37
  void Start ()
74
-
75
38
  {
76
-
77
39
  GetComponent<Rigidbody2D>().velocity = transform.up.normalized * speed;
78
-
79
40
  Destroy(gameObject, lifeTime);
80
-
81
41
  }
82
-
83
42
  ```
84
-
85
43
  bullet2には自機狙いの弾を、targetにはプレイヤーをセットしました。
86
44
 
87
45
 
88
-
89
-
90
-
91
- ###試したこと
46
+ ### 試したこと
92
-
93
47
  ここに書いたソースコード以外にもLookAtを用いたり弾とプレイヤーをむすぶベクトルを用いたりして自機狙いを作ろうとしてみましたが、いずれもエラーはないものの弾が生成されなかったり生成されてもなぜか真上に飛んでしまったりとうまくいきませんでした。
94
-
95
- ###その他
48
+ ### その他
96
-
97
49
  Unityのバージョンは5.5.1です。
98
-
99
50
  弾の生成に関してはInstantiateを使う方法のみ知っています。もし他にもっと良い方法があるよという方がいらっしゃればご教授していただけると嬉しいです。よろしくお願いします。

1

誤字脱字の訂正・タイトルが分かりにくいので改善

2017/03/14 17:50

投稿

pra
pra

スコア17

test CHANGED
@@ -1 +1 @@
1
- Unity C♯ 自機狙いについて
1
+ Unity2D C♯ Quaternionを用いた自機狙いについて
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
  {
46
46
 
47
- Quaternio homingRotate = Quaternion.LookRotation(target.transform.position - transform.position);
47
+ Quaternion homingRotate = Quaternion.LookRotation(target.transform.position - transform.position);
48
48
 
49
49
  Instantiate(bullet2, transform.position, homingRotate);
50
50
 
@@ -96,4 +96,4 @@
96
96
 
97
97
  Unityのバージョンは5.5.1です。
98
98
 
99
- 弾の生成に関してはInstantiateを使う方法のみ知っています。もし他にもっと良い方法があるよという方がいらっしゃればご享受していただけると嬉しいです。よろしくお願いします。
99
+ 弾の生成に関してはInstantiateを使う方法のみ知っています。もし他にもっと良い方法があるよという方がいらっしゃればご教授していただけると嬉しいです。よろしくお願いします。