4.On Drop

プレイヤーがドラッグしたウィジェットをドロップしたときに何がおこるかを設定します。

Windows
MacOS
Linux
このページ中

メインの HUD Widget ブループリントをセットアップし、OnDrop 関数を行うときに起こることをオーバーライドします。

ステップ

  1. HUD Widget ブループリントを開き、[Canvas Panel][Details] パネルで、その [Visibility][Visible] に設定します。

    DragDrop13.png

    Health Bar ウィジェット内で、ドラッグ検知を行っていますが、左マウスボタンを放したときに、それを HUD Widget ブループリントにドロップするようにします。 HUD がヒット検知を受け取るようにするためには、その [Visibility] 設定を [Visible] にする必要があります。

  2. [Palette] ウィンドウから、Health Bar ウィジェットをグラフの必要な場所に追加します。

    DragDrop14.png

  3. グラフ モードに進み、OnDrop 関数のオーバーライドを [My Blueprint] パネルから追加します。

    DragDrop15.png

  4. OnDrop 内で、Operation から WidgetDrag にキャスト します。次に Widget ReferenceDrag Offset を 取得します。

    DragDrop16.png

    OnDrop 関数の一部としてどの型の演算が行われるかをチェックするためにキャストします。Widget Drag でしょうか? もしそうなら、WidgetReference (ドラッグされているウィジェットとして、通過) および DragOffset (すなわち、ドラッグを開始した位置) を get します。

  5. My GeometryPointer Event から、Absolute to Local ノードと GetScreenSpacePosition ノードを使って、以下のように接続します。

    DragDrop17.png

    これは、左マウスボタンを放して、ウィジェットをドロップする場所である 2D 空間における位置を示します。 ここから、DragOffset を差し引いて、ドロップするときにどこにウィジェットを配置するかを決定します。

  6. Absolute to LocalReturn Value から、DragOffset を差し引きます。

    UpdateDragDrop1.png

  7. Widget Reference から Remove from Parent 、その後に Add to ViewportSet Position in Viewport のノードを追加します。

  8. 以下のようにノードを接続し、Remove DPIScale のチェックを外し、Return NodeReturn Value にチェックを入れます。

    フルサイズ表示するにはここをクリック

    Remove DPIScale のチェックを外して、Return Value のチェックボックスにチェックを入れています。DPI スケーリング を取り除く必要はなく、この関数を処理したため true として戻します。 このスクリプトでは、最初に既存の Health Bar ウィジェットを取り除いてから、Drag Offset に相対的に画面の新しい位置に再度追加しています。

HUD はドラッグしたウィジェットをドロップ処理するようにセットアップされて、ヘルスバーを表示させます。 次のこのチュートリアルの最後のステップでは、ドラッグしたウィジェットをセットアップし、ヘルスバーの形状を模倣し、Character ブループリントに対してこの HUD をビューポートに追加するように指示します。

Select Skin
Light
Dark

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

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

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

フィードバックを送信