回答編集履歴

3

スクリプトの追加

2016/10/31 05:53

投稿

退会済みユーザー
test CHANGED
@@ -11,3 +11,83 @@
11
11
  `game_object02`をpublicな変数(あるいは[System.Serializable]属性)にして、インスペクタから対象のGameObjectを設定するか、
12
12
 
13
13
  プレハブにして、プレハブからインスタンス化して取得したのち、非アクティブ化するのが手っ取り早いのではないでしょうか。
14
+
15
+
16
+
17
+ ```C#
18
+
19
+ using UnityEngine;
20
+
21
+ using System.Collections;
22
+
23
+
24
+
25
+ public class mvcam_new3 : MonoBehaviour
26
+
27
+ {
28
+
29
+ public Vector3 pos = new Vector3(-11, 0, 0);
30
+
31
+ private GameObject game_object01 = null;
32
+
33
+ private GameObject game_object02 = null;
34
+
35
+ public GameObject game_object02_prefab;
36
+
37
+ public void Start()
38
+
39
+ {
40
+
41
+ game_object01 = GameObject.Find("Sphere100");
42
+
43
+ // プレハブをインスタンス化して、game_object02に代入
44
+
45
+ game_object02 = (GameObject) Instantiate (game_object02_prefab,transform.position,transform.rotation);
46
+
47
+ game_object02.SetActive(false);
48
+
49
+ }
50
+
51
+ void Update()
52
+
53
+ {
54
+
55
+
56
+
57
+ if (Input.GetKeyDown(KeyCode.Space) && pos.z < 300)
58
+
59
+ { //spaceキーの入力があり、かつx座標が300以下の場合にという条件文
60
+
61
+ pos.z += 30; //x座標を+30する(移動する)
62
+
63
+ transform.position = pos; //位置更新
64
+
65
+ print(transform.position.z); //コンソールを開くと座標が今どこにいるのかわかるのか書いてくれる
66
+
67
+ }
68
+
69
+ else if (Input.GetKeyDown(KeyCode.Space) && pos.z >= 300)
70
+
71
+ {
72
+
73
+ pos.z = 0;
74
+
75
+ transform.position = pos;
76
+
77
+ print(transform.position.z);
78
+
79
+ game_object01.SetActive(false);
80
+
81
+ //game_object02.SetActive(true);
82
+
83
+ game_object02.SetActive(true);
84
+
85
+ //game_object02.transform.gameObject.SetActive(true);
86
+
87
+ }
88
+
89
+ }
90
+
91
+ }
92
+
93
+ ```

2

情報の追加

2016/10/31 05:53

投稿

退会済みユーザー
test CHANGED
@@ -5,3 +5,9 @@
5
5
 
6
6
 
7
7
  `GameObject.Find`で取得できるオブジェクトは、親子関係などのつながりがなくても取得できますが、アクティブなオブジェクトに限定されます。
8
+
9
+
10
+
11
+ `game_object02`をpublicな変数(あるいは[System.Serializable]属性)にして、インスペクタから対象のGameObjectを設定するか、
12
+
13
+ プレハブにして、プレハブからインスタンス化して取得したのち、非アクティブ化するのが手っ取り早いのではないでしょうか。

1

誤字の修正

2016/10/30 21:14

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- `Transform.Find`でアクティブ・非アクティブに関わらず、取得できるのは子オブジェクトのみです。
1
+ `Transform.Find`で取得できるのは、アクティブ・非アクティブに関わらず子オブジェクトのみです。
2
2
 
3
3
  `Transform.Find("Child/hoge")`でhogeが取得できるのは、自身がChildの親オブジェクトの場合のみです。
4
4