インターフェースの活用
今回はぷちコンでのゲーム制作時に活用した、
interface(インターフェース)の例などを書いてみます。
公式でしっかりとした説明があります。
※簡単なインターフェースの実装の説明はここではしません・・・
公式とか他の方のブログを見ることをおすすめします。
※誤字脱字・間違いなどありましたらコメントのほうもよろしくお願いします!!
※今回はUE4.26で説明していきます。
interface(インターフェース)とは?
interface(インターフェース)とは中に実際の処理がない関数になります。
例えばゲームで言うと各キャラクターがアイテムを拾って回復するという共通動作を、
プレイヤーの特性が違うキャラそれぞれに持たせるという形で使用したりします。
GameInstanceでの活用
私の方で説明するのはGameInstanceなどと一緒に活用したことを書きます。
まずはインターフェース用のBPを作成します。
※インターフェースは別のブループリントインターフェースで作成します。
GameInstanceで呼び出す関数を作成します。
引数や戻り値などもそれに合わせて設定します。
GameInstanceの方で実際の処理を作成します。
Setの方はインターフェースのイベントで処理を動作する仕組みです。
Getの方に関してはインターフェース関数があるので、
そちらから戻り値の変数を渡すように変更します。
実際に呼び出す際はインターフェース側の関数として呼び出すので、
Castをする必要がなく呼び出すことが可能です。
GameInstance内で作成したカスタムイベントは、
インターフェースではないのでもちろんCastは必要になります。
今回はこのような形でもインターフェースを活用してみました。
その他Interface用のBPなど
その他Interface関連のBPでよく使用されるものだと、
GetAllWidgetsWithInterfaceやGetAllActorsWithInterfaceがあります。
どちらもInterfaceが設定されているWidgetやActorを探します。
以上で説明は終了になります。
まだまだインターフェースの活用法はいくつもあると思うので、
色々試してみたいと思います。