私は単純なブレイクアウト ゲームを行っていますが、ボールが上の境界線に当たったときの角度を計算する方法に問題があります。ボールが 180 度の角度で上に移動すると、0 度の角度で下に跳ね返ります。しかし、ボールが 170 度の角度で上向きに動いている場合、10 度のようにミラーリングされた角度で下向きに跳ね返るはずです。これは度数で計算できます180-170 = 10
が、ボールが 190 度の角度で上向きに動いているとしたら!? すると、350 度の角度で下に跳ね返っているはずですが、これを計算する方法がわかりません!?
ボールの上向きの移動角度の値を計算または反映する簡単な方法はありますか? 数学苦手なので助かります!ありがとう!
編集:私はこのようにボールを動かしています:
xPos += speed * Math.sin(Math.toRadians(direction));
yPos += speed * Math.cos(Math.toRadians(direction));