teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

参考プログラムのせました。 試してないので、エラーでたら申し訳ないです

2016/10/19 15:40

投稿

sminier
sminier

スコア25

answer CHANGED
@@ -11,4 +11,34 @@
11
11
  速い解決策としてはインスペクタから直接"Sphere100"を変数に入れてやることかと思います。
12
12
  関数の外で変数を定義してやれば最初に"Sphere100"を取得すればいいだけなので。
13
13
 
14
- インスペクタの操作は他のサイトに書いてあると思います。
14
+ インスペクタの操作は他のサイトに書いてあると思います。
15
+
16
+ 下記で実行したらいけるかも...
17
+ public class mvcam_new2 : MonoBehaviour
18
+ {
19
+ public Vector3 pos = new Vector3(-11, 0, 0);
20
+ private GameObject game_object0 = null;
21
+ private GameObject game_object2 = null;
22
+   void Start()
23
+ {
24
+ game_object0 = GameObject.Find("Sphere100");
25
+ game_object2 = GameObject.Find("Box1").transform.FindChild("Sphere101").gameobject;
26
+ }
27
+ void Update()
28
+ {
29
+ if (Input.GetKeyDown(KeyCode.Space) && pos.z < 300)
30
+ { //spaceキーの入力があり、かつx座標が300以下の場合にという条件文
31
+ pos.z += 30; //x座標を+30する(移動する)
32
+ transform.position = pos; //位置更新
33
+ print(transform.position.z); //コンソールを開くと座標が今どこにいるのかわかるのか書いてくれる
34
+ }
35
+ else if (Input.GetKeyDown(KeyCode.Space) && pos.z >= 300)
36
+ {
37
+ pos.z = 0;
38
+ transform.position = pos;
39
+ print(transform.position.z);
40
+ game_object0.SetActive(false);
41
+ game_object2.SetActive(true);
42
+ }
43
+ }
44
+ }