Twin Stick Shooter 11
やったこと
発射された玉が敵に当たるとダメージが入るようにする
Blueprint Interface (以降BPIと略す)
特徴
・ポリモフィーズムの実現とカプセル化させることができる
・依存度を減らすことができる(castした相手の情報を知らなくて良くなる)
参考 : もんしょ様
もんしょの巣穴blog [UE4] Blueprint Interfaceを使って依存度を下げる
BPI使い方フロー
①BPIの作成と実装
②呼び出し側の実装
③呼び出され側の実装
①
まずBP Interfaceを作成する
関数パネルで関数を定義する
読み取り専用なので処理は書き込めない
②
そうすると全てのBP内で参照できるようになる
先に呼び出し側の処理を実装しないと、呼び出される側でEventノードとして実装できないので先に呼び出す必要があるみたい
(BPInterfaceを IDamageble というファイル名、関数名をAffectHelth名前で実装するとこうなる)
③
あとは呼び出される側の処理を実装する
呼び出されたいBP内で「クラス設定」欄をクリックすると
詳細パネルが出るので、中にある「インターフェース」項目に先ほどのBPIを追加する
そうすると、BPIの処理を実装できるようになる
ex )
BPIの関数に出力も設定すると、イベントとしては扱われず、次のように空の関数が用意されます
あとはこれを実装すればok