ウィジェットの作成

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

Windows
MacOS
Linux

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

CreateWidgetNode.png

上の例では、Create Widget ノードが、Class セクションで指定されている Widget ブループリント を呼び出します (Owning Player は、それが適用される Player Controller で、ブランクはデフォルトの Player Controller になります)。Return Value は、結果として得られるものです。

上の例では、Main Menu とタイトルがついている変数に割り当てられており、ウィジェットを再作成する代わりに後で呼び出すことができます (これはウィジェットを取り除くためにも使用できます)。最後に、Add to Viewport は、画面上に Widget ブループリントを描画します。ここでは Main Menu 変数 (これは作成されたウィジェットを保持します) が、追加するターゲットになることを指定しています。

ウィジェットを表示させないようにするには、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 を呼び出します。

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信