ブレイクアウト クローンを作成していますが、ボールとパドルの衝突に少し問題があります。ボールとパドルの両方を表す長方形があり、それらが交差すると、ボールの速度を表す Y ベクトルが無効になります (以下に示すように)。それはすべてうまくいきます。問題は、パドルが右に動いているときです。ボールを少し右に動かしたいのですが (通常は反射するのとは対照的に)、パドルが動いている反対方向に同じことが起こるようにしたいのです。左。これを行う方法がわからず、すべてを見てきました。どんな助けでも大歓迎です。ありがとう。
if (paddleRectangle.Intersects(ballRectangle))
{
ballVelocity.Y *= -1;
collision.Play(); //a collision sound
}
編集: 基本的に、パドルが動いている方向に基づいて、ボールがパドルから跳ね返る角度を少し変更したいと考えています。パドルが動いていない場合、ボールは正常に跳ね返ります (ボールの速度の Y 成分を反転させることにより)。