Estoy escribiendo un juego 2D XNA de arriba hacia abajo. Desde que es mi primera vez, intento escribir sobre física y material de colisión para aprenderlo.
Cada vez que el personaje sprite de mi jugador intenta moverse a una posición donde sus límites se cruzan con el borde de una pared, descubro un ángulo de rebote (ángulo de incidencia = ángulo de reflexión) y hago que el jugador rebote de la pared y evite la colisión. .
Tengo problemas para descubrir cómo lidiar con la situación de mi sprite que se cruza con dos bordes de la pared simultáneamente, por ejemplo, golpea una esquina.
Mi código actualmente me dice que se han cruzado dos bordes de la pared, pero no qué borde golpearía primero y, por lo tanto, qué borde rebotar.
¿Cuál es la prueba matemática para elegir qué borde rebotar? Es fácil de ver al mirarlo, pero estoy luchando por resolver la prueba de matemáticas.