enchant.jsで角度と距離で衝突判定をするプラグイン
enchant.jsには衝突判定に、短形同士で判定するintersectと、直線距離で判定するwithinがあります。
withinを使うと自身を中心に円上にある距離内でヒットした場合は判定できるのですが、ゲームを作っているうちに、自分が向いている方向の前方45度のみで衝突判定を行いたい場合がありました。
というわけで、衝突判定を円状ではなく弧状で判定できるarc_withinメソッドを追加できるプラグインを作成しました。
ダウンロード
使い方。
index.htmlのgame.jsの前に
<script type="text/javascript" src="arc_within.js"></script>
を追加
衝突判定を行いたい箇所で、withinの代わりに
this.arc_within(衝突を判定するオブジェクト,衝突までの最大の距離,角度)
角度は自身のrotationが0の時は真上を起点として、±(角度/2)度の範囲で判定します。