self.hitBall = function(ball, x, y) {
var angle = Math.atan2((x - ball.centerX), (y - ball.centerY));
ball.velocityY = (Math.sin(angle) * 10);
ball.velocityX = (Math.cos(angle) * 10);
};
したがって、関数はcenterX変数とcenterY変数を持つボールを受け取ります。関数に渡されるxとyはxであり、yはボールが打たれた点です。私はボールが打撃を受けた方向にボールを移動させたい。は、打撃を受けた角度でボールを移動する必要があります。
なぜ私のコードが動作していないのか分かりません。非常に奇妙な動作をしていて、三角法ではそれほど良くありません。なぜそれが動作していないのかわかりません。あなたのコードで
私はこれがhttp://gamedev.stackexchange.com/ゲーム開発者に適していると思います。 –
あなたのコードは奇妙な動作をしています。代わりにこれを試すことができますか? 'Math.atan2(ball.centerY - y、ball.centerX - x)' – Nayuki