質問: ### 前提・実現したいこと プログラミング初心者です。 UnityのC#で、ゲームのスタート画面でオブジェクトの表示非表示を切り替える命令を作ろうと思っていたのですが、うまくいきません。 具体的に言うと、最初に非表示にする命令は実行できているのですが、スペースキーを押すと表示するというところがうまくいきません。 ここに質問の内容を詳しく書いてください。 どう改善すればよろしいでしょうか?できれば改善する理由や改善後のコードの解説もお願いします。 コードは下記のようになっています。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class newgame : MonoBehaviour { public GameObject Obj; // Use this for initialization void Start () { Obj.SetActive(false); } // Update is called once per frame void Update () { if (Input.GetKeyDown(KeyCode.Space)) { Obj.SetActive(true); } } }``
回答: このスクリプトをアタッチしているゲームオブジェクト自身を無効にしているからではないでしょうか。 (SetActive()は厳密には非表示ではなく、ゲームオブジェクトを無効にする関数です)