ウィジェットの作成

Widget ブループリントを作成し、ゲーム内で表示する方法

Windows
MacOS
Linux

Widget ブループリント を作成し、レイアウト後に、ゲーム内で表示させるには、別の ブループリント (例、Level ブループリント や Character ブループリント) 内で、Create Widget ノードと Add to Viewport ノードを使用してそれを呼び出す必要があります

CreateWidgetNode.png

上の例では、Create Widget ノードが、Class セクションで指定されている Widget ブループリントを呼び出し、Return Value は、結果として得られるものです。 (Owning Player は、それが適用される Player Controller で、ブランクはデフォルトの Player Controller になります)。Add to Viewport は Widget ブループリントが画面上に描く内容であり、作成されたウィジェットを維持する Main Menu 変数は追加されたあt-ゲットです。

さらに、Return Value は Main Menu という名前の変数に割り当てられるので、ウィジェットを再度作成しなくても後で Widget ブループリントにアクセスしたり、必要に応じて削除できます。

ウィジェットを表示させないようにするには、Remove from Parent ノードを使用し、Target Widget ブループリントを指定します。

RemoveFromViewport.png

入力モードを設定し、カーソルを表示する

プレイヤーに UI とインタラクションさせる場合や UI を完全に無視させたい場合があるかもしれません。プレイヤーが UI とどのようにインタラクションするかを決定するために使用可能なノードがいくつかあります。以下のような Set Input Mode タイプがそれに該当します。

SetInputModes.png

  • 上の画像の左のノード、Set Input Mode Game and UI は、名前が示すように入力モードと UI を設定し、プレイヤーが入力や UI を介してゲームを操作できるようにします (例、画面上でキャラクターを操作するだけでなく、ボタンや UI エレメントのクリックにもアクセスできます)。

  • 上の画像の中央のノード、Set Input Mode Game Only は、ゲームに対して入力のみを有効にし、UI エレメントは無視します (これは、ヘルス、ポイント、時間表示などのインタラクティブではない UI エレメントに最適です)。

  • 上の画像の右のノード、Set Input Mode UIOnly はエッジケース ノードで UI ナビゲーションのみを可能にし、ゲーム入力は使えないようにするために使用します。これは、完全にすべてのゲーム コントロールを無効にし、UI がすべての入力を処理します。このノードは慎重に使用してください。

上のノードを補足するために、マウス カーソル 表示を 有効/無効 にしたい場合があるかもしれません。これは、Set Show Mouse Cursor ノードを使って行うことができます。Get Player Controller ノードをドラッグして、Set Show Mouse Cursor ノードを使用して True または False にチェックを入れて、マウスカーソルを表示または非表示にします。

ShowCursor.png

上の画面では、I を使用してマウス カーソルの表示/非表示を切り替えています。

ウィジェットをウィジェットに加える

各ウィジェットに Add to Viewport ノードを使用する代わりに、各ウィジェットに他のウィジェットを追加することもできます。

AddChild.png

上の例では start_Button と呼ばれる Scroll Box ウィジェットを Add Child 関数を使用して、Main Menu と呼ばれる新規ウィジェットに付加する方法を示しています。

Add Child ノードは、パネル内のあるウィジェットを別のウィジェットに親子付けします。これに対して Add to viewport は、新規ウィンドウであるかのようにウィジェットをルート ビューポートに追加します。子のウィジェットを取り除くには、親を取得し、RemoveChild を呼び出します。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback