質問編集履歴

9

2020/08/20 11:12

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- ### ヘディングのテキスト###Unityで2Dの弾幕ゲームを作っています。
1
+ ###Unityで2Dの弾幕ゲームを作っています。
2
2
 
3
- prefabの敵からprefabの弾を生成し、prefabの敵がprefabの弾を生成した時にplayer(reimu)の位置を取得し、その方向へ真っ直ぐ進むというプログラムを、試しにあらゆるサイトを見て参考にしながら自分で書いてみました。
3
+ prefabの敵からprefabの弾を生成し、prefabの敵がprefabの弾を生成する時にplayer(reimu)の位置を取得し、その方向へ真っ直ぐ進むというプログラムを、試しにあらゆるサイトを見て参考にしながら自分で書いてみました。
4
4
 
5
5
  下記のスクリプトが付いた敵、弾をHierarchy上にdrag&dropすると目的通りに動いてくれます。
6
6
 

8

2020/08/20 11:12

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- ###Unityで2Dの弾幕ゲームを作っています。
1
+ ### ヘディングのテキスト###Unityで2Dの弾幕ゲームを作っています。
2
2
 
3
3
  prefabの敵からprefabの弾を生成し、prefabの敵がprefabの弾を生成した時にplayer(reimu)の位置を取得し、その方向へ真っ直ぐ進むというプログラムを、試しにあらゆるサイトを見て参考にしながら自分で書いてみました。
4
4
 

7

2020/08/20 11:11

投稿

bathtowel
bathtowel

スコア5

test CHANGED
@@ -1 +1 @@
1
- Unityの仕組み?ついて
1
+ PrefabのターゲットをHierarchyのObjectする
test CHANGED
File without changes

6

###Unityで2Dの弾幕ゲームを作っています。 prefabの敵からprefabの弾を生成し、prefabの敵がprefabの弾を生成した時にplayer(reimu)の位置を取得し、その方向へ真

2020/08/20 09:30

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,13 +1,137 @@
1
1
  ###Unityで2Dの弾幕ゲームを作っています。
2
2
 
3
- 自機狙い弾を作り自機に向かうスクリプトをアタッチしました。そして弾のinspecter欄target箇所hierarchyにある自機アタッチしました。
3
+ prefabの敵からprefabの弾を生成し、prefab敵がprefab弾を生成した時player(reimu)の位置を取得し、その方向へ真っ直ぐ進むというプログラムを、試しにあらゆサイト見て参考にながら自分で書いてみました。
4
4
 
5
- そしてそれをprefab化しました。すると、prefab化した弾targetNoneになってしままし。そこでhierarchyの自機をアタッチしようとしたら出来ませんでした。そこで自機をprefab化してそれをアタッチしましたが自機がどこにいようがprefab化した時点での自機の方向にしか弾がいきません。どうしたらprefab化した弾自機が今る場所に向かわせることが出来るのでしょうか。教え下さい。 長文失礼しした
5
+ 下記スクリプトいた敵、弾をHierarchy上にdrag&dropすると目的通りいてくれ
6
6
 
7
- ###試したこと
7
+ prefabの弾でHierarchyのplayer(reimu)をtargetにするにはどうしたらよいですか。教えてください。
8
8
 
9
- http://tsubakit1.hateblo.jp/entry/2018/03/01/005236#%E3%82%B1%E3%83%BC%E3%82%B9%EF%BC%91Prefab%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88
9
+ ↓敵のスクリプトです
10
10
 
11
- こちらのサイトは読みました。
11
+ ```C#
12
12
 
13
+ コードpublic class enemy : MonoBehaviour
14
+
15
+ {
16
+
17
+ private float time = 0f;
18
+
19
+ public Transform firePoint;
20
+
21
+ [SerializeField] GameObject redsmallshotPrefab;
22
+
23
+ bool isCalled = false;
24
+
25
+ // Update is called once per frame
26
+
27
+ void Update()
28
+
29
+ {
30
+
31
+ time += Time.deltaTime;
32
+
13
- 出来ればコードの解決をして頂きたいです。
33
+ if (time <= 0.9f)
34
+
35
+ {
36
+
37
+ transform.position += new Vector3(0, -6, 0) * Time.deltaTime * 3f;
38
+
39
+ }
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+ if (time >= 5.5f)
50
+
51
+ {
52
+
53
+ transform.position += new Vector3(0, 6, 0) * Time.deltaTime * 3f;
54
+
55
+ }
56
+
57
+ if (time > 3.0f)
58
+
59
+ {
60
+
61
+ if (isCalled == false)
62
+
63
+ {
64
+
65
+ isCalled = true;
66
+
67
+ Instantiate(redsmallshotPrefab, firePoint.position, transform.rotation);
68
+
69
+ }
70
+
71
+ }
72
+
73
+ }
74
+
75
+ }
76
+
77
+ ```
78
+
79
+ ↓弾のスクリプトです
80
+
81
+ ```C#
82
+
83
+ コードpublic class redsmallshot : MonoBehaviour
84
+
85
+ {
86
+
87
+ public GameObject targetObject;
88
+
89
+ public Vector2 speed = new Vector2(0.025f, 0.025f);
90
+
91
+ private float rad;
92
+
93
+ private Vector2 Position;
94
+
95
+ void Start()
96
+
97
+ {
98
+
99
+ rad = Mathf.Atan2(
100
+
101
+ targetObject.transform.position.y - transform.position.y,
102
+
103
+ targetObject.transform.position.x - transform.position.x);
104
+
105
+ }
106
+
107
+ void Update()
108
+
109
+ {
110
+
111
+
112
+
113
+ Position = transform.position;
114
+
115
+ Position.x += speed.x * Mathf.Cos(rad);
116
+
117
+ Position.y += speed.y * Mathf.Sin(rad);
118
+
119
+ transform.position = Position;
120
+
121
+ }
122
+
123
+ }
124
+
125
+ ```
126
+
127
+ ↓prefabの弾です。inspectorのTarget Objectの箇所にHierarchyのreimu(idle)をアタッチしたかったのですが無理でした(調べたところprefabはHierarchyのobjectを参照出来ないようです)
128
+
129
+ ![![](3136feb6c3be53a69b9cec566939538d.png)](62a7a4fabecc9118a96cb70ce5fc4e8e.png)
130
+
131
+ ↓prefabの敵です。Noneの箇所にスクリプトが付いた弾のprefabを入れます
132
+
133
+ ![イメージ説明](59f3b439c1207fbf999741296d77d5d4.png)
134
+
135
+ [リンク内容](https://gist.github.com/Buravo46/7801252)
136
+
137
+ 参考にしたサイトです

5

2020/08/20 09:28

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
File without changes

4

2020/08/19 10:58

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,3 @@
1
- [リンク内容](https://photos.app.goo.gl/ZPEA6MPXt5Emh1jG8)
2
-
3
1
  ###Unityで2Dの弾幕ゲームを作っています。
4
2
 
5
3
  自機狙い弾を作り、自機に向かうスクリプトをアタッチしました。そして弾のinspecter欄のtargetの箇所にhierarchyにある自機をアタッチしました。

3

2020/08/19 10:56

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
+ [リンク内容](https://photos.app.goo.gl/ZPEA6MPXt5Emh1jG8)
2
+
1
- Unityで2Dの弾幕ゲームを作っています。
3
+ ###Unityで2Dの弾幕ゲームを作っています。
2
4
 
3
5
  自機狙い弾を作り、自機に向かうスクリプトをアタッチしました。そして弾のinspecter欄のtargetの箇所にhierarchyにある自機をアタッチしました。
4
6
 

2

2020/08/19 10:55

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -3,3 +3,11 @@
3
3
  自機狙い弾を作り、自機に向かうスクリプトをアタッチしました。そして弾のinspecter欄のtargetの箇所にhierarchyにある自機をアタッチしました。
4
4
 
5
5
  そしてそれをprefab化しました。すると、prefab化した弾のtargetがNoneになってしまいました。そこでhierarchyの自機をアタッチしようとしたら出来ませんでした。そこで自機をprefab化してそれをアタッチしましたが自機がどこにいようがprefab化した時点での自機の方向にしか弾がいきません。どうしたらprefab化した弾に自機が今いる場所に向かわせることが出来るのでしょうか。教えて下さい。 長文失礼しました。
6
+
7
+ ###試したこと
8
+
9
+ http://tsubakit1.hateblo.jp/entry/2018/03/01/005236#%E3%82%B1%E3%83%BC%E3%82%B9%EF%BC%91Prefab%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88
10
+
11
+ こちらのサイトは読みました。
12
+
13
+ 出来ればコードの解決をして頂きたいです。

1

2020/08/19 06:58

投稿

bathtowel
bathtowel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,5 @@
1
1
  Unityで2Dの弾幕ゲームを作っています。
2
2
 
3
- 自機狙い弾を作り、自機に向かうスクリプトをアタッチしてhierarchyにdrug&dropしました。そして弾のinspecter欄のtargetの箇所にhierarchyにある自機をアタッチしました。
3
+ 自機狙い弾を作り、自機に向かうスクリプトをアタッチしました。そして弾のinspecter欄のtargetの箇所にhierarchyにある自機をアタッチしました。
4
4
 
5
5
  そしてそれをprefab化しました。すると、prefab化した弾のtargetがNoneになってしまいました。そこでhierarchyの自機をアタッチしようとしたら出来ませんでした。そこで自機をprefab化してそれをアタッチしましたが自機がどこにいようがprefab化した時点での自機の方向にしか弾がいきません。どうしたらprefab化した弾に自機が今いる場所に向かわせることが出来るのでしょうか。教えて下さい。 長文失礼しました。