質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

503閲覧

オブジェクトのアクティブ化ができない

退会済みユーザー

退会済みユーザー

総合スコア0

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/03/17 12:59

編集2019/03/17 22:50

実現したいこと
Eキーが押されたらオブジェクトをオンオフを切り替え
発生した問題
Eキーを押しても切り替わらない
問題のコード

c#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class カメラコントロール : MonoBehaviour 6{ 7 int kf = 0; 8 int kf2 = 0; 9 GameObject kamera22; 10 GameObject kamera2; 11 Camera Camera1; 12 Camera Camera2; 13 // Start is called before the first frame update 14 void Start() 15 { 16 kamera22 = GameObject.Find("カメラ1"); 17 if (kamera22 != null) 18 { 19 Debug.Log("6d616382cd95b3"); 20 Debug.Log(kamera22.name); 21 } 22 kamera2 = GameObject.Find("カメラ2"); 23 kamera22.SetActive(true); 24 kamera2.SetActive(false); 25 Debug.Log(kamera2.name); 26 27 } 28 // Update is called once per frame 29 void Update() 30 { 31 Debug.Log(kf); 32 if (Input.GetKey("e")) { kf++;kf2++; } 33 else { kf = 0; kf2 = 0; } 34 if (kf == 1) 35 { 36 if (kamera22 == true) 37 { 38 kamera2.SetActive(true); 39 kamera22.SetActive(false); 40 kf = 2; 41 } 42 } 43 if (kf == 1) { 44 if (kamera2 == true) 45 { 46 Debug.Log("414d44835883798362834e8dbc8b5c95b390bb9569"); 47 kamera22.SetActive(true); 48 kamera2.SetActive(false); 49 return; 50 } 51 } 52 } 53}

試した事

c#

1Debug.Log(kf); 2 if (Input.GetKey("e")) { kf++;kf2++; } 3 else { kf = 0; kf2 = 0; } 4 if ( kf == 1) 5 { 6 if (kamera22==true) { 7 kamera2.SetActive(true); 8 kamera22.SetActive(false); 9 return; 10 } 11 if (kamera2 == true) 12 { 13 Debug.Log("414d44835883798362834e8dbc8b5c95b390bb9569"); 14 kamera22.SetActive(true); 15 kamera2.SetActive(false); 16 return; 17 }

こうするとkamera22がtrueの時は機能するがkamera2がtrueの時は機能しない

c#

1 if (kamera2) 2 { 3 kamera22.SetActive(!kamera22); 4 kamera2.SetActive(!kamera2); 5 return; 6 } 7 if (kamera22) { 8 kamera2.SetActive(!kamera2); 9 kamera22.SetActive(!kamera22); 10 return; 11 } 12~~~ 13こうするとEキーを押した瞬間カメラが無い判定になり止まる 14オブジェクトはちゃんと取得できている

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

kamera2kamera22GameObjectなのに対して、bool値比較を実行しているからだと思います。
GameObjectがアクティブかどうかはactiveSelfを使ってください。

余談ですが、テストのログとはいえ他を貶めるようなことは感心できません。

投稿2019/03/17 15:53

vo3

総合スコア321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/03/17 22:52

ありがとうございます 上手く行きました。 余談ですがhttps://gigazine.net/news/20151109-amd-bulldozer-lawsuit/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問