今のままだとキャラクターが、例えば爆弾と接触して爆発によるダメージを受けたとしてもHPバーのステータスは変わらないので、キャラクターが何らかのダメージを受けたらHPバーが減少するように、HPバーのパーセントとダメージをバインドする必要があります。
ヘルスバーパーセントとキャラクターヘルスのバインド
MyCharacter.hにいくつかの変数を宣言します。
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Stats) float Health; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Stats) float MaxHealth;
それぞれの変数のデフォルト値を設定します。
Health(150.f), MaxHealth(300.f)
検索窓にpercentと入力してpercentのバインドを押してバインディングを作成を選択します。
緑色の新規追加ボタンを押して変数を選択します。
変数名をMyCharacterにします。
変数の型を押して検索窓にbrycebpと入力、Bryce BPのオブジェクト参照を選択します。
Ctrl押しながらMyCharacter変数をエディタ内に引っ張てきます、マウスの左ボタンを押しながらピンを引っ張り出して、マウスの左ボタンを離してコンテクストメニューの検索窓にisvalidと入力、検索結果の中からはてな印が付いているノードを選択します。
Get Health Bar PercentノードとIs Validノードのピンをつなぎます。
エディタ内で左マウスボタンを押してコンテクストメニューを呼び出して検索窓にgetplayerpawnと入力、Get Player Pawnを選択します。
出力ピンをマウス左ボタンを押しながら引っ張り出して検索窓にcasttobrと入力してCast To Bryce BPを選択します。
Altキーを押しながらMyCharacter変数をエディタ内に引っ張ってきます。Ctrlキーだとgetter、Altキーだとsetterになります。
IsValidノードのIs Not ValidピンをCast To MyCharacter_BPノードの実行ピンに接続します。
残りのピンを下図のようにつなぎます。
Ctrlキーを押しながら変数MyCharacterをエディタ内に引っ張てきます。
My Characterノードのピンを引っ張り出して検索窓にgetheと入力、healthノードを選択します。
コメント