私のプログラム内でこの関数を実行しようとすると、円(自分のx位置が長方形x位置に渡された後)が上の私はそれが意図したように、矩形の右端を跳ね返らずに返します。円は四角形の右上隅にくっついていきます
bounceOff: function(circle, rect) {
let distX = Math.abs(circle.x - rect.x - rect.w/2);
let distY = Math.abs(circle.y - rect.y - rect.h/2);
circle.dx = distX - rect.w/2;
circle.dy = distY - rect.h/2;
return (circle.dx * circle.dx + circle.dy * circle.dy <= (circle.r * circle.r));
}
ようこそStackOverflow!私たちがあなたのお手伝いをするために、あなたの質問を更新して**関連コード**を[**最小で、完全で、検証可能な例**]で表示することができますか?(http://stackoverflow.com/ヘルプ/ mcve)。あなたの問題を解決するためにあなたが持っているものを知ってもらうことができれば助けになるでしょう(http://meta.stackoverflow.com/questions/261592)。詳細については、[**よくある質問をどうやるか**](http://stackoverflow.com/help/how-to-ask)に関するヘルプ記事を参照して、サイトの[**ツアー** –
''このプログラムを実行する ' - それは正直なところ、プログラムのほとんど役に立たない小さなスニペットです。 –