ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

ダメージ処理

エネミーから Apply Damage でプレイヤーにダメージを与え、プレイヤー側では Event AnyDamage でダメージを受けたときの処理を実装した。
ところが、プレイヤー側のイベントが来ない。コリジョンの設定が間違っているかと On Component Begin Overlap にブレークポイントを追加してみたら、ちゃんと反応していた。
ちょっと戸惑ったが結局、原因は Apply Damage の Base Damage の値が0だったから。ダメージ0でもイベントは発行されると思っていた。たしかにダメージ0ならイベントを発行する必要ないわけで。
あるアクタから他のアクタへ動作を指示する方法で、イベントディスパッチャーを使う場合と、関数を使う場合の両方を試してみた。このあたりの仕組でどう使い分けるべきなのか、未だによく分かっていない。