i/o blog

ゲーム系の情報の入出力してみるブログ

Twin Stick Shooter 11

www.youtube.com

 

やったこと

発射された玉が敵に当たるとダメージが入るようにする

 

Blueprint Interface (以降BPIと略す)

特徴

・ポリモフィーズムの実現とカプセル化させることができる

・依存度を減らすことができる(castした相手の情報を知らなくて良くなる)

参考 : もんしょ様

 もんしょの巣穴blog [UE4] Blueprint Interfaceを使って依存度を下げる

 

 

BPI使い方フロー

①BPIの作成と実装

②呼び出し側の実装

③呼び出され側の実装

 

まずBP Interfaceを作成する

関数パネルで関数を定義する

読み取り専用なので処理は書き込めない

f:id:dabura:20151202032343p:plain

 

そうすると全てのBP内で参照できるようになる

先に呼び出し側の処理を実装しないと、呼び出される側でEventノードとして実装できないので先に呼び出す必要があるみたい

f:id:dabura:20151202032636p:plain

(BPInterfaceを IDamageble というファイル名、関数名をAffectHelth名前で実装するとこうなる)

 

あとは呼び出される側の処理を実装する

呼び出されたいBP内で「クラス設定」欄をクリックすると

詳細パネルが出るので、中にある「インターフェース」項目に先ほどのBPIを追加する

そうすると、BPIの処理を実装できるようになる

f:id:dabura:20151202033423p:plain

 

ex ) 

BPIの関数に出力も設定すると、イベントとしては扱われず、次のように空の関数が用意されます

あとはこれを実装すればok

f:id:dabura:20151202040940p:plain