OpenAssetOrgのアセットで2Dゲームを作る⑫ 矢(弾)のヒット処理
「今日は矢がちゃんと当たるようにした。当たる処理は2つのコンポーネントに書いてある」
「だいたいこの時の動画のやり方と同じになってると思う。カスタムイベントの簡単なバインドの仕方とかもこの時に書いたやつで」
妹「そういう動画あったね。結局ソースコードがどこにもなくてよくわからなかったけど」
「自分でやってみればそのへんわかるんじゃないか? というのも今回の趣旨の1つ」
矢にくっつけるやつ
敵にくっつけるやつ(こわれるブロックとかにも使える)
「今回作ったのはこの2つのコンポーネント。アクターが標準装備してるダメージイベントを経由してるから、お互い相手がどういうコンポーネントなのかはわかってない。こういう状態を疎結合ともいうんだけど、コンポーネントを別のにかえたり、他のプロジェクトに移行したりがしやすい」
妹「ダメージが0だと駄目っていうのは?」
「今回当たったら無条件にHPが1減るわけだから、別にダメージの数字はどうでもいいか……って最初は0にしてたんだよ。ところがDamageが0だとOnTakeAnyDamageイベント自体が実行されなかった。1.0でも0.1でもいいんだけど、何か数字を入れておく必要がありそう」
妹「ダメージ0ってことは、ダメージないってことだから、このイベント別に要らないだろってことかな」
「ってことだね。他は特に問題なく作れたと思う」