Language:
Page Info
Engine Version:
The translation of this page is out of date. Please see the English version for the latest version of the page.

イベントディスパッチャー

1 つ以上のイベントを イベントディスパッチャー へ結合すると、イベントディスパッチャーの呼び出し時に、結合されたこれらのイベントを一度に発行することができます。これらのイベントは、Blueprint クラス内で結合することができます。 ただし、イベント ディスパッチャーにより Level ブループリント内でもイベントの発行が可能になります。

イベントディスパッチャーの作成

イベントディスパッチャーは、ブループリント エディタの My Blueprint タブで作成されます。

新規にイベントディスパッチャーを作成する方法:

  1. MyBlueprint の Event Dispatcher カテゴリ: myblueprint_eventdispatcher.pngplus_Button.png ボタンをクリックします。

  2. [My Blueprint] タブのリストの最後に表示される名前欄にイベントディスパッチャー名を入力します。

    name_event_Dispatcher.png

設定プロパティ

[My Blueprint] タブのイベントディスパッチャーを選択すると、 [Details (詳細)] タブでプロパティの編集が可能になります。自分のイベントディスパッチャーにツールチップとカテゴリの設定、および入力を追加することができます。

イベントディスパッチャーに入力を追加すると、イベントディスパッチャーに結合している各イベントに変数を送ることができるようになります。そして、データフローが Blueprint クラス内だけでなく、 Blueprint クラスと Level ブループリント間でも可能になります。

イベントディスパッチャーに入力を追加するプロセスは、関数、カスタムイベント、マクロに入出力を追加するワークフローと似ています。別のイベントに同じ入力を使用したい場合、 [Copy Signature from (からシグネチャをコピー)] ドロップダウンを使ってイベントを表示できます。 自分で入力をイベントディスパッチャーへ追加するには、以下の手順に従います。

  1. [Details] ペインの [Inputs] セクションの [New] ボタンをクリックします。

    new_input_Dispatcher.png

  2. 新規入力に名前をつけて、ドロップダウン メニューでタイプを設定します。この例では、MyStringParam という名前の String 入力パラメータがあります。

    named_new_Dispatcher.png

  3. パラメータに対する入力を拡張することで、デフォルト値を設定し、参照によりパラメータを渡すかどうかを表示することもできます。

    expanded_input_Dispatcher.png

    ノード端にあるパラメータのピンの位置を変更したい場合、拡大された [Details] ペイン入力で上下の矢印キーを使用します。

イベントディスパッチャーの使用

イベントディスパッチャーを作成したら、イベントノード、バインドノード、アンバインドノードを追加してそれに接続することができます。イベントディスパッチャー グラフを開くために [My Blueprint] タブのイベントディスパッチャー入力を ダブルクリック することができますが、 グラフはロックされているので、イベントディスパッチャーを直接修正することはできません。結合、解除、割り当てメソッドで、イベントディスパッチャーをイベントリストへ追加できるようになり、 call メソッドでイベントリストに格納されたすべてのイベントをアクティベートします。

以下は、 Blueprint クラスへも Level ブループリントへも追加することができるノードです。Event ノードを除いて、各ノードには Target 入力ピンがあります。

  • Blueprint クラスでは、このピンは自動的に Self へ設定されます。つまり、イベントリストはクラスに対して変更され、クラスのインスタンスもすべて変更されることになります。

  • Level ブループリントでは、このピンはレベルのクラスのインスタンスへの参照に接続されていなければなりません。つまり、イベントリストはクラスの特定のインスタンスに対してのみ変更されます。 Actor リファレンスが必要な場合には、Level ブループリント に作成方法が説明されています。

event_dispatcher_call_node.png

イベント ディスパッチャーを Call ノードで呼び出すと、イベント ディスパッチャーに接続しているすべてのイベントが発行されます。各イベント ディスパッチャーに対して 1 つ以上の Call ノードを持つことができます。 また、Blueprint クラスと Level ブループリンの両方でイベント ディスパッチャーを呼び出すこともできます。

bind_node.png

イベントが接続されていない状態でイベント ディスパッチャーを呼び出しても何の影響もありません。各イベント ディスパッチャーには、関連付いたイベント リストがあると考えてください。イベント リストへイベントを追加するには Bind Event ノードを使用します。 リストからイベントを削除するには Unbind Event ノードを使用します。Unbind All Events ノードで、現時点でイベントディスパッチャーと接続している全イベントを非接続にすることも可能です。

dispatcher_event.png

イベントディスパッチャー のメニューの [Event (イベント)] オプションを使用することにより、イベントディスパッチャーへの結合が可能になるように 正しいシグネチャでカスタム イベントが作成されます。イベントノードは、 Bind ノードに接続されずに Custom Event ノード と同じように表示されますが、 このイベントは Call [イベントディスパッチャー名] ノードの実行時に決してトリガーされることはありません。