柔軟で応答性の高いボタン グループは、新しい Canvas ベースのレイアウト システムを使用して簡単に構築できます。 以前は、ユーザーは ObjectBar スクリプトを使用して、1 つの軸に沿って子のコレクションをレイアウトする必要があり、各子を ObjectBarの管理対象の子の一覧に手動で追加する必要がありました。
キャンバスベースの UX を使用すると、組み込みの RectTransform ベースのレイアウト システムを利用して、UI コンポーネントの行、列、グリッドを簡単に構築および管理できます。 ボタン バーとグリッドは、 HorizontalLayoutGroup、 VerticalLayoutGroup、および GridLayoutGroup UnityUI コンポーネントを使用して構築できます。 子は、レイアウト グループで構成された制約、パディング、およびオプションに従って自動的にレイアウトされます。
ボタン バー
ボタン (または他の UI コントロール) の水平または垂直の "バー" を構築するには、 HorizontalLayoutGroup、 VerticalLayoutGroup、または ContentSizeFitterのいずれかを使用して単純なレイアウトを構築できます。
これらの自動レイアウト コンポーネントの子には、各子の最小サイズと優先サイズをレイアウト エンジンに通知する LayoutElement コンポーネントが必要です。 ボタン プレハブにはこれらのコンポーネントが事前にインストールされていますが、独自のカスタム コントロールに追加するか、ニーズに合わせて最小限の推奨サイズ設定をカスタマイズする必要がある場合があります。
ボタン グリッド
ボタンの柔軟なグリッドを構築するには、ボタン バーと同じレイアウトとデザインが適用されますが、代わりに GridLayoutGroup が使用されます。
行または列の数を調整するには、目的の制約の種類を選択します。
- 固定列数 は、列の数を指定します。 行数は、コレクション内の項目の数に応じてリフローされます。
- 固定行数 は、列の数を指定します。 行数は、コレクション内の項目の数に応じてリフローされます。
-
柔軟性に優 れた結果、
ContentSizeFitterで選択したフィットタイプに応じて、柔軟な行数または列数が得られます。ContentSizeFitterの両方のフィットタイプのPreferred sizeをFlexibleグリッド制約と共に選択すると、グリッドレイアウトがほぼ正方形/偶数になりますが、必要に応じて行または列が追加されます。
UnityUI レイアウト システムの使用方法の詳細については、 こちらのドキュメントを参照してください。