0
私は、プレーヤー、弾丸、および敵の間で私のjavasciptゲームで衝突しています。以前は、弾丸は四角形でしたが、イメージがあります。画像は矩形のボックスにしっかり収まり、2Dコリジョンが機能することが期待されていました。ここに画像があります: なぜこの2Dコリジョンが自分の画像で十分に機能しないのですか?
弾丸はやや長方形です。私は私の衝突システムでは、このロジックを使用:
return rect1.x <= rect2.x+rect2.width
&& rect2.x<=rect1.x+rect1.width
&& rect1.y<=rect2.y+rect2.height//if all statements are true, they are colliding
&& rect2.y<=rect1.y+rect1.height;
衝突がやや働く、しかし、弾丸が大幅にプレーヤーの下にあることと、まだ衝突を誘発し、それがなくて、上から大幅にプレーヤー内の第三の方法であることができ衝突を誘発する。それを修正するために何かできることはありますか?衝突システムはちょうど長方形で完璧に動作し、ここで十分に近いはずですが、十分ではありません。 JS Game
あなたのコードを使ってみましたが、結果は同じでした。これは長方形で機能しますが、何らかの理由で画像と一緒に移動します。私は値で遊んでみました。 rect1y
それから、あなたの問題は、衝突検出よりも画像の配置にあるように思えます。どのようにあなたの(見えない)矩形にあなたのイメージを埋め込みますか? – Jankapunkt
あなたはそうです、配置問題でした。画像の左上隅はxとyにありましたが、衝突ではその座標が中心になるように作られていました。私は今これをしました:drawImage(img、x-width/2、y-height/2、width、height)。ありがとうございました –