PrintStringの表示を工夫する
妹「そういえば、パンチが2回当たる事件の調査ってしてたっけ?」
「そんな話を聞いたことがあるような、ないような。調査はまだしてないかも」
妹「こういう風にすると、なぜかパンチが同じ敵に2回当たってる、オーバーラップイベントが起きてるみたいなんだよ。毎回じゃなくて、相手が向かってきてる時に起こりやすいとか、法則はあるっぽいんだけど」
「もう少し色々情報を出したいけど、行数が増えるとわからなくなるので、まずログの表示を改良してみる」
「まず1行に詰め込むために、Appendノードで必要な文字をくっつける。完全にくっつくと区切りがわからないから、途中に区切り文字を入れてある。そしてBeginのイベントがあるということはEndのイベントも起きてるはずだから、EndOverlapの方も同じ様なブループリントを作る。PrintStringノードの下の矢印を押して、色設定を変えておくと区別もしやすい」
妹「あと敵じゃなくて自分と重なってる分も要らないかも」
「じゃあそれも除外しておく」
「これがパンチ1発分のログだけど、パンチが敵コリジョンの範囲に入って、出て、もう1回入って、出て、という風になってることがわかる。同時にオーバーラップしてるとか、別のコンポーネントにあたってるとかではない」
妹「やっぱり2回当たってる」
「この記録を見た感じと、パンチの動きと敵の動きが交錯した時に、2回当たってるみたい。一応パンチが当たったらフラグを立てて、次にパンチする時にそのフラグをリセットするようにすれば、1回しか判定を行わないようには出来る。もしくは裏技として残すという手も」
妹「仕組みとしてはそれでもいいけど、でもなんで2回当たるのかが気になるんだよね。2回当たるような動き方はさせてないと思うから。コリジョンが思ったのと違う動き方してるのかも」
「じゃあそのへんは明日も引き続き調査してみるということで」