前提・実現したいこと
ScrollViewにGridLayoutGroupを使って、画像などを等間隔に表示したスクロールバーを作成しようとしています。
Unity 2020.3.9の3Dプロジェクトで作業しています。
参照記事
【Unity】 GridLayoutGroup×ScrollView
発生している問題・エラーメッセージ
記事の設定に沿って以下のように枠はできていますが、ボタンの配置をするためのC#スクリプトのアタッチに失敗し、修正方法がわからず困っています。
エラーメッセージ
ArgumentException: The Object you want to instantiate is null. UnityEngine.Object.Instantiate (UnityEngine.Object original) (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:243) UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Transform parent, System.Boolean instantiateInWorldSpace) (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:256) UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Transform parent, System.Boolean worldPositionStays) (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:296) UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Transform parent) (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/UnityEngineObject.bindings.cs:291) Create.Start () (at Assets/Scenes/Create.cs:12)
該当のソースコード
記事にあった以下のコードをオブジェクト(Scroll View)にアタッチした後、実行しました。
Create.cs
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5public class Create : MonoBehaviour 6{ 7 public RectTransform contentRectTransform; 8 public Button button; 9 private void Start() 10 { 11 for(int i = 1; i <= 30; i++){ 12 var obj = Instantiate(button,contentRectTransform); 13 obj.GetComponentInChildren<Text>().text = i.ToString(); 14 } 15 } 16}
調べたこと
ご回答をいただき、類似記事(「Unityで図鑑のようなUIを作りたい」)でも、以下のように書かれていました。
具体的にどうやってやればいいのか、コードだけではなくオブジェクトもUIで操作しながら開発するUnityでは特に、文章だけだと何をすればいいのかわからず、困っている状況です。
あとは、下記スクリプトを作成してヒエラルキーのオブジェクトにこのスクリプトをアタッチ(普通GameManagerなどのマネージャーオブジェクトにアタッチ)し、インスペクタから
contentRectTransformにContent
buttonCellに作成したボタンをヒエラルキーからアタッチすればできます。
ご回答を受けて修正した結果
コンパイルエラーは解決し、実行できました。
実行後ボタンを押しても、Botton(clone)
が大量に生成され、想定していたような番号が描かれたboxがスクロールできる表示にはなりませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/08/21 11:02 編集
2021/08/21 11:15
退会済みユーザー
2021/08/21 11:55