見出し画像

UE5から始める C++ & BP 12 【Blueprint版】Event Dispatcher

久しぶりにキレイに書き起こせました。

ソースコードでイベント処理を書くと難しいのですが、Blueprintだとあっさり実装できます。

関数を新しく作ったりせずに、処理についでにイベントを差し込めるのはビジュアルスクリプトだからできることですね。
ソースコードに慣れていると意味が分からないです。

Blueprintならではの書き方が生まれてきているのが面白いです。

新しい技術も慣れてしまえば面白い。

面白いと思えるまでの道のりは長いけど、続けていれば必ずやってくる面白さ。
ベテランの人ほど1歩新しいことに踏み出すことが大事ですね。

前回は「Input Event(入力イベント)」方法について調査しました。
今回は「Event Dispatcher」方法について調査していきます。

【Blueprint】Event Dispatcher

今回できること

Event Dispatcherを作成します。
作成したEvent DispatcherにCustom EventをBindします。
「H」キーをPressした時に、Event Dispatherを呼び出し、Custom Eventを実行します。

学習用の新規レベル「Chapter_2_EventDispatcher」を作成する

学習用の新規レベルを作成します。
[File]メニューから[New Level…]を選択します。

[Default]を選択します。

[File]メニューからCurrent Levelを保存します。
ショートカット「Ctrl + S」でも保存できます。

「Maps」フォルダを選択し、Nameに「Chapter_2_EventDispather」を入力し、[Save]ボタンをクリックします。

Blueprintを複製する

「BP_InputEvent」を複製(Ctrl + W)して、「BP_EventDispatcher」を作成します。

Event Dispatcher[OnPrintHello]を追加する

Event Dispatcher[OnPrintHello]を作成します。

「BP_EventDispatcher」を開きます。

[My Blueprint]パネルの[Event Dispatchers]カテゴリーの[+]ボタンをクリックします。
追加されたEvent Dispatherの名前を[OnPrintHello]に設定します。

Event Dispatcher[OnPrintHello]をCustom Event[PrintHello]にバインドする

Event Dispatcher[OnPrintHello]をEvent GraphにDrag&Dropします。
メニューから[Bind]を選択します。

「Bind Event to On Print Hello」と書かれたノードのEvent(赤い四角)からDrag&Dropします。
メニューから[Add Custom Event...]を選択します。

追加したCustom Eventの名前を[PrintHello]に設定します。

Custom Event[PrintHello]の[実行]ピンを”Hello World!”を出力するPrintStringに接続します。
「H」キーのPressedの接続を切ります。

「H」キーのPressedからEventDispatcher「OnPrintHello」を呼び出す

Event Dispatcher[OnPrintHello]をEvent GraphにDrag&Dropします。
メニューから[Call]を選択します。

「H」キーのPressedとEvent Dispatcher[OnPrintHello]のCallノードを接続します。

[Compile]ボタンをクリックします。

Level Editorに戻り、「BP_EventDispatcher」をViewportにDrag&Dropします。

Level Editorの[Play]ボタンをクリックします。

「H」キーをPressすると、Event Dispatcher[OnPrintHello]のCallノードが呼ばれた後に、Custom Event[PrintHello]が呼ばれます。

Event DispatherにBindしたイベントは、Event Dispatherを呼び出す(Call)と、Bindしたイベントが呼ばれます。
イベントを呼ぶことがTrrigerとなるので、Tickイベントで監視するような処理を書くより処理が軽くなります。

すべて保存する

Blueprint側の説明は以上になります。
プロジェクトをすべて保存しましょう。

まとめ

やはりこれぐらいのボリュームがいいですね。
書いていても楽しいです。
基本文法はバランスが難しいです。

楽しんで書く

キレイに収まる

大事ですね。

これがデフォルトになるように更に書いていこう!

参照URL


いいなと思ったら応援しよう!