私はオンラインゲームを作っています。私は自分のゲームを構築するためにHTML5キャンバスとJavascriptを使用しています。
私はいくつかの形と1つのボールが動いていて、形が衝突したときに形が消えてしまいます。私の形状は長方形、三角形、多角形と...例えばあるため
形状とボールはイメージであり、私の大きな問題点は、ボールと形状との衝突を検出する方法である:This Shapeキャンバス画像とサイド検出の衝突
これは、衝突を検出するために私のコードですが、それはちょうど長方形のために働く:
function collide(r1, r2) {
var dx = (r1.x + r1.width/2) - (r2.x + r2.width/2);
var dy = (r1.y + r1.height/2) - (r2.y + r2.height/2);
var width = (r1.width + r2.width)/2;
var height = (r1.height + r2.height)/2;
var crossWidth = width * dy;
var crossHeight = height * dx;
var collision = 'none';
if (Math.abs(dx) <= width && Math.abs(dy) <= height) {
if (crossWidth > crossHeight) {
collision = (crossWidth > (-crossHeight)) ? 'bottom' : 'left';
} else {
collision = (crossWidth > -(crossHeight)) ? 'right' : 'top';
}
}
return (collision);
}