World Space UIの作成
画面遷移の作成

スクリプトからUI要素を作成する

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

あなたはゲーム内のユーザーのアクションやその他のアクションに基づき,UI要素が表示されたり,消えたり変化したりする動的なUIを作成する場合は,カスタム·ロジックに基づいて新しいUI要素をインスタンス化するスクリプトを作成する必要があるかもしれません。

UI要素のプレハブ作成

簡単に動的にUI要素をインスタンス化できるようにするための最初のステップは,あなたがインスタンス化したいUI要素のタイプのためにプレハブを作成することです。あなたはそれがシーン見ることを望む方法でUI要素を設定し,その後,プレハブにするためにプロジェクトビューにその要素をドラッグします。

例えば,ボタンのプレハブはイメージコンポーネント,ボタンコンポーネント,テキストコンポーネントを持つ子ゲームオブジェクト可能性があります。あなたのセットアップは,あなたのニーズに応じて異なる場合があります。

なぜ私たちはビジュアルとすべてのものを含む各種制御を作成するためのAPIメソッドを持っていないのか,あなたは不思議に思うかもしれません。その理由は,方法が無限に存在することです。例えばボタンは,セットアップである可能性があります。それは,画像,テキスト,またはその両方を使用していますか?多分複数の画像?テキストのフォント,色,フォントサイズ,および整列は何ですか?画像は何スプライトまたはスプライトを使用する必要がありますか?あなたはプレハブを作成し,それをインスタンス化することで,あなたは望むとおりにそれらを設定することができます。そして,あなたは後でデザインやをUIの“look and feel”を変更したい場合,あなただけのプレハブを変更することができます。その後,それは,あなたのUIに反映され,動的に作成されたUIを含みます。

UI要素のインスタンス化

UI要素のプレハブはインスタンス化メソッドを使用して通常どおりにインスタンス化されます。インスタンス化されたUI要素の親を設定する場合,worldPositionStaysパラメーターをfalseに設定したTransform.SetParentメソッドを使用して行うことをお勧めします。

UI要素の配置

UI要素は通常,そののRectトランスフォームを用いて配置されます。UI要素がレイアウトグループの子である場合は,自動的に配置され,位置を決めるステップを省略することができます。

Rectトランスフォームの位置決めをするとき,それは最初に任意のストレッチング動作をするかしないを判断するために便利です。anchorMinとanchorMaxのプロパティが同一でないとき,ストレッチ動作が起こります。

ストレッチングしないRectはトランスフォームのための位置はanchoredPositionとsizeDeltaのプロパティを設定することで,最も簡単に設定されてます。anchoredPositionはアンカーにピボットの位置を指定します。全く伸びがないときのサイズとsizeDeltaのサイズはちょうど同じです。

ストレッチングRectトランスフォームのためにoffsetMinとoffsetMaxプロパティを使用して位置を設定すると簡単にできます。offsetMinプロパティは,左下のアンカーにRECTと相対的に左下隅の角を指定します。offsetMaxプロパティは,右上のアンカーにRECTと相対的に右上隅の角を指定します。

UI要素のカスタマイズ

動的に複数のUI要素をインスタンス化している場合,あなたはそれらすべてが同じように見えるようにしたい,同じことを行いたいと思うでしょう。それはメニューにあるボタン,インベントリ内のアイテム,または何か他のものかどうかにかかわらず,あなたは個々のアイテムが別のテキストまたは画像を持ってきたり,相互作用したときに別のことを行ったりすることを望むでしょう。

これは様々なコンポーネントを取得し,それらのプロパティを変更させることによって行われます。画像とテキストコンポーネントのスクリプティングリファレンスを参照してください。スクリプトからUnityEventsで作業する方法を示しています。

World Space UIの作成
画面遷移の作成