前提・実現したいこと
Unityで、Scriptから、異なる複数のButtonを作成したい。
最大で30個ほどのButtonの予定。
それぞれのButtonの違いは、名前と画像。
発生している問題
作成自体はできているのですが、最適な作り方について教えてほしいです。
考えていた作成方法は、ベースとなるButtonのプレファブを作成し、
そのプレファブをスクリプトから生成し、画像と名前を変更することを考えていました。
その際画像はResources.Loadから取得しようと考えていましたが、検索すると否定的な意見が多く、どういった方法がよいのかわからなくなりました。
このような場合どのような方法で生成すると良いのでしょうか。
下記の方法のどちらがいい、もしくは別の方法がいいなど、教えていただけると幸いです。
該当のソースコード
for (int i = 0; i < Buttonの個数; i++) {
Button tmp = Instantiate(ボタンのプレファブ);
tmp.transform.SetParent(transform, false); tmp.transform.name = i.ToString(); tmp.GetComponent<Image>().sprite = Resources.Load<Sprite>(画像のパス);
}
考えていること
考えているのは上記のベースとなるButtonのプレファブを作成し、
プレファブをスクリプトから生成し、画像と名前を変更すること。
もしくは名前と画像の違うButtonのプレファブを事前に作成しておき、
スクリプトから生成する。
前者の場合はプレファブは1つで済むが、Resources.Loadの使用やボタン毎にGetComponentを使用する必要があると思います。
後者はコード自体は簡単ですが30個ものプレファブを用意することになるためサイズやメモリを圧迫することになるのではないかと考えています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/06 12:05