弾が一発当たっただけで消える

いつもお世話になります

上記の動画で勉強しているのですが変数を作り(「HP」という名前で)100と設定をして
apply damageのノードでダメージを20に設定しているのに5発で消えるはずが1発で消えます
情報が不足しておりましたら教えていただけたら幸いです
よろしくお願いします

追記 any damageからprint stringしたところ一発でー98と出ました

AnyDamageノードを使用しているということは

ApplyDamageノードを使用してダメージを与えていると思います。

236812-3.png

ApplyDamageノードで指定したBase Damageの値がそのまま

AnyDamageノードのDamage Parameterに入ります。


AnyDamageノードから出力された値が意図していないものであれば、

まずApplyDamageノードの処理を見直してください。

複数のApplyDamageノードでダメージを与えてはいませんか?


またHPを減らす処理が間違っていると思われます。

画像のように現在のHPからダメージ分の値を引いてください。

貴方はダメージ分から現在のHPを引いています。

できました

ありがとうございます

まさか常識の上 - 下 の計算をミスしていたとは。。

我ながら恥ずかしいです

文章も気を付けます

ありがとうございました。

できました
ありがとうございます
まさか常識の上 - 下 の計算をミスしていたとは。。
我ながら恥ずかしいです
ありがとうございました。

まずは四則演算を覚えてください

減算ノードは 上 - 下 の計算になります

HPが100、Damageが2.0、HPからのノードが上に刺さっていることから、この計算は下記の通りとなり、Print Stringの結果は合っていることになります

2.0 - 100 = -98

この結果HPが0を下回りますので、DestroyActorが実行されます


蛇足ですが、弾が消えるのか敵が消えるのか、きちんと判別できるように文章を整理すべきかと思います
回答する側が理解しやすいように文章を整えるのは必要なことです

ダメージを与える側の処理を見たわけではないので、確かではありませんが

AIHPとDamageのピンが逆のように思えます。

その処理だとDamageからHPを引いてしまっています。

" - "ノードのピンをAIHP, Damageを入れ替えてみてはいかがでしょうか?

また、ダメージ量も20ではなく2が設定されていると思います。

分かりやすい写真ありがとうございます

問題はダメージ分から現在のHPを引いていたことです
まさか常識の上 - 下 の計算をミスしていたとは。。
我ながら恥ずかしいです
ありがとうございました