Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私のブレイクアウト スタイルのゲーム (Java & AndEngine) では、レンガのどちら側がボールと衝突するかを見つけなければなりません。つまり、衝突面に応じてボールをバウンドさせたいのです。ボールがレンガの上部または下部に衝突した場合。rotation = 180-rotation;、そうでなければ、でバウンスしますrotation = 360-rotation;
rotation = 180-rotation;
rotation = 360-rotation;
さて、ここに1つの解決策があります:
衝突が発生すると、4 つの角のそれぞれとボールの中心との間の距離を測定できます。
衝突するエッジは、ボールまでの距離が最も短い 2 つのコーナーの間にあります。