質問: ### 前提・実現したいこと Unity(言語:C#)でScrollViewに動的にプレハブのボタンを追加しています。 追加したボタンをクリックした時にGameObject.setActice(false)でScrollViewが閉じる動きを実装したいです。 動き方ですが、立ち上がったカテゴリ選択画面にリスト形式でカテゴリを表示させ、そのカテゴリをクリックすると 検索画面が消えて元の画面に戻るという動きになります。 (カテゴリは任意に追加可能です。) ### 発生している問題・エラーメッセージ コンソールにはデバッグ情報が表示されていますが、検索画面が閉じてくれません。 ### 該当のソースコード ``` public GameObject dialog; void start(){ //最初は非表示 //カテゴリ選択画面は違う画面の検索ボタンから起動する } public void OnClick(){ dialog.setActive(false); } ``` ### 試したこと プレハブとなるボタンオブジェクトにスクリプトをアタッチし、GameObjectにはカテゴリ選択画面を割り当てました。 Contentにもアタッチしてみましたが変わらず。 Canvas.enabledを使ってみましたが、これも上手くいきませんでした。 ### 補足情報(FW/ツールのバージョンなど) 動的に追加した物の取得はできないなどの情報はなかったので、処理の問題かと思っています。 ご教示頂ければ幸いです。
回答: Inspectorから、dialogにダイアログのゲームオブジェクトが設定されているか再度確認してください。 何らかの理由(後述を含む)で、設定がされていなかったり、設定が外れていることが考えられます。 また、場合によっては、そもそもInspectorから設定出来ない場合もあります。 (例えば、プレハブに対してシーン上のオブジェクトはInspector上では設定出来ないようになっています) この場合、生成元などの他のスクリプトからdialogにダイアログのゲームオブジェクトを設定してあげる必要があります。 なお、SetActive()やStart()の先頭は大文字です。