質問編集履歴
1
スペルミスの修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
C# unity
|
1
|
+
C# unity prefab化したオブジェクトの座標を取得できません
|
body
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
###実現したいこと
|
2
|
-
|
2
|
+
prefab化した「wallprefab」オブジェクトを用いて、
|
3
3
|
壁を生成する「WallGeneratorScript」によって
|
4
4
|
壁を同時に生み出した時、
|
5
5
|
|
6
6
|
|
7
7
|
```C#
|
8
|
-
public GameObject
|
8
|
+
public GameObject wallPrefab;
|
9
|
-
GameObject go1 = Instantiate(
|
9
|
+
GameObject go1 = Instantiate(wallPrefab);
|
10
|
-
GameObject go2 = Instantiate(
|
10
|
+
GameObject go2 = Instantiate(wallPrefab);
|
11
11
|
|
12
12
|
```
|
13
13
|
|
14
|
-
このプログラムを実行し
|
14
|
+
このプログラムを実行しwallprefab(clone)が同時に二つ生成。
|
15
15
|
|
16
16
|
(clone)と語尾についたオブジェクトを生成したとき、
|
17
17
|
個々の座標を取得することは可能でしょうか?
|
@@ -28,28 +28,28 @@
|
|
28
28
|
this.player = GameObject.Find("Player");
|
29
29
|
}
|
30
30
|
|
31
|
-
Vector2 p1 = transform.position; //
|
31
|
+
Vector2 p1 = transform.position; // wallprefabの座標を取得
|
32
32
|
Vector2 p2 = this.player.transform.position; // プレイヤーの座標を取得
|
33
33
|
```
|
34
34
|
と書き、
|
35
35
|
|
36
36
|
実際「wallScript」内で当たり判定を発生させるプログラムを書けば、
|
37
|
-
後に生成される
|
37
|
+
後に生成されるwallprefab(clone)にも当たり判定を付けることができました。
|
38
38
|
|
39
39
|
これとは反対に、
|
40
|
-
「
|
40
|
+
「wallprefab」を別のスクリプトで読み取りたいとき
|
41
41
|
|
42
42
|
Playerへアタッチするスクリプト「playerScript」内では、
|
43
43
|
```C#
|
44
44
|
GameObject wallprefub ;
|
45
45
|
|
46
|
-
this.
|
46
|
+
this.wallprefab = GameObject.Find("WallPrefab);
|
47
47
|
|
48
|
-
Vector2 p1 = this.
|
48
|
+
Vector2 p1 = this.wallprefab.transform.position; // wallprefabの座標を取得
|
49
49
|
Vector2 p2 = transform.position; // プレイヤーの座標を取得
|
50
50
|
```
|
51
51
|
参照する項目がないとかで、
|
52
|
-
this.
|
52
|
+
this.wallprefabと記述した部分はエラーが発生し
|
53
53
|
当たり判定を生成することはかないませんでした
|
54
54
|
|
55
55
|
###補足
|