インターフェースとは特定の関数を宣言しておくことで、関数を呼び出し、呼び出された時にはそれぞれの処理が実装できるなんとも説明しづらい 関数を宣言できる機能です?(説明に自信なし)
言葉で説明するとややこしいので図で見てもらうとわかりやすいです。
コリジョンなどにぶつかったときの処理を実装する際にキャストするのではなくインターフェース関数を呼び出します。するとぶつかった側(Player、Enemy)で同じインターフェース関数名でそれぞれの処理を作ることができます。
ぶつかるモノの種類が増えたとしても、ぶつかる側(コリジョンなど)の処理を変えることなくぶつかった側に処理を追加することができるので、ぶつかる側(コリジョンなど)の処理がシンプルに実装できる利点があります。
インターフェースの作り方&使い方
- コンテントドローワーから右クリック → ブループリント → ブループリントインターフェース
- できたファイルに名前をつける
- ダブルクリックでファイルを編集
- 右上のプラスボタンから関数を新規作成 → インプットアウトプットがある場合は設定 → コンパイル
インターフェースを呼び出す側(Event Actior Begin Over lapなど)
- Event Actior Begin Over lap → 実行ピンを引っ張って「インターフェース名+Message」で検索をかけると、インターフェースを呼び出すことができる。
インターフェースを呼び出される側(Player Enemyなど)
- インターフェース関数を使いたいブループリントを編集 → クラス設定 → 実装インターフェース → 追加 → 作成した名前のブループリントインターフェースファイルを追加
- 関数 → オーバーライドから作成したインターフェース関数を呼び出し。
(ブループリントグラフ右クリックから検索して作成ではない) - 呼び出した関数に自分の作りたい処理を実装
コメント