2017-11-19 8 views
1

私はGameManagerやCameraのような一般的なオブジェクトのようなゲームオブジェクト用のシングルトンクラスを用意しています。それがnullの場合、FindObjectOfType()関数を使用してインスタンスを作成します。すべてがゲームオブジェクト上でうまくいきます。今、私はゲームオブジェクトの上にキャンバスの下にパネルを置こうとしています。だから私はパネルにインスタンスが必要です。すでに書かれたシングルトンクラスは、パネルにアタッチされるとnullを返します。インスタンスをパネルに取得するにはどうすればよいですか?Unity:UIオブジェクトへのインスタンスの取得

+0

アクセスMyClass.instance.GetComponent ( 'を使用してシングルトンの画像成分)' –

答えて

0

GameObject型のシングルトンクラスで宣言することで、パネルのインスタンスを取得できます。

別の方法もあります。 あなたはシングルトンクラスからゲームオブジェクトのインスタンスを得ることができます。 パネルがそのゲームオブジェクトの上にあります。

だから、あなたはこのようなパネルを得ることができます。

GameObject panel = SingletonClass.Instance.GetGameObject().transform.parent.gameobject; 

これは、パネルのゲームオブジェクトを返します。通常の方法でパネルのコンポーネントを取得できます。

例えば、

panel.GetComponent<Image>(); 
関連する問題