UE4極め本 AppendixD 残機数表示の実装方法

極め本Appendixもようやく終わりが見えてきました。
自力でノードの組み方を考えるなど一生無理だと思ってましたが、
なんとかこの宿題を自力でこなすことができてとても嬉しいです。
まだまだこの本を使ってUE4の学習に臨む人はいると思うので
詰んだ人用に備忘録を書いておきます。

使用しているバージョンは4.25です。

 

 

まず、PlayerControllerに変数を作成する。


名前:Number Of Life
タイプ:Float
デフォルト値:2~5くらい(テストのため)

 

その後、PlayerControllerに関数を作成する。


名前:Count Life

 

この関数が呼ばれるたびにNumber Of Lifeが-1されるように
ノードを組む。

f:id:Kusotaro:20210713114751p:plain



 

つぎに、PlayerPawnのグラフの死亡処理を書いたところに移動する。

画像

Sequenceノード>Then2ピンの終点に、CountLife関数を呼び出す。

まず、Cast to PNPlayerController、Get Controllerを設置する。
As PNPlayerControllerからCount Lifeを呼び出す。
つぎに、PlayBGMノードの出力ピンを引っ張り、Count Lifeにつなげる。

 

f:id:Kusotaro:20210713115049p:plain



最後に、これをHUDに表示させる。
PNGameHUD>NumOfLifeの詳細パネルより、 バインディングを作成 を選択。
画像

自動的にグラフに遷移するので、以下のようにノードを組む。

注意点としては、CastノードにつなぐのがGet Owning Playerであることくらい?
(ちなみに、どうしてこれGetする対象がControllerではなくPlayerなのかわかってません)

f:id:Kusotaro:20210713094217p:plain


あとはゲームで適当に死んでみればライフの数が減ることを確認できる。

自分はデバッグ用にPNPlayerControllerに以下のようなノードも組んだ。

画像