なにかエラーがおきた場合に、画面にシュイッと出現するメッセージパネルをつくりました。
そのメッセージパネルは、あちこちのシーンで読み込みたいので、プレハブ化して、シーン毎に最初に読み込んでスタンバらせておこうとおもいました。
読み込み先は、
Canvas の中の MainPnale の中に入れ込んでおきたいのですが、
C#
1RectTransform ErrMsgPanel = (RectTransform)Instantiate (Resources.Load("PrefabMsgPanel/ErrMsgPanel")); 2ErrMsgPanel.transform.SetParent ( MainPanl.transform, false );
上はなんかキャストのエラーがでました。
構造
Canvas
|
ーーーーMainpanel
|
|ーGamePanel
|
ーーErrMsgPanel
構造はこのようにしたいのですが、可能でしょうか?
C#
1 GameObject ErrMsgPanel = (GameObject)Instantiate(Resources.Load("PrefabMsgPanel/ErrMsgPanel")); 2 ErrMsgPanel.transform.SetParent ( MainPanl.transform, false );
これでもだめかー なんでだろう、、、
エラーメッセージは以下の感じです
InvalidCastException: Cannot cast from source type to destination type.
Scene01GameObject.Start () (at Assets/Scene/Scene01GameObject.cs:34)
いま、原因がわかりました。
Panelの名前は ErrMsgPanel にしていたのですが、それに付随していたC#コードのファイル名も ErrMsgPanel で、おなじリソースフォルダにいれていたのが原因でした。
全く別のPanelを新しく作成して試したらうまくいったので気がつきました。
すごく簡単なミスでした。恥ずかしいです。
回答1件
あなたの回答
tips
プレビュー