Eu tenho um jogo Breakout no qual, em algum momento, eu detecto a colisão entre a bola e a raquete com algo assim:
// Ball class
rectangle.Intersects(paddle.Rectangle);
Existe alguma maneira de obter as coordenadas exatas da colisão, ou quaisquer detalhes sobre ela, com a corrente XNA API
?
Pensei em fazer alguns cálculos básicos, como comparar as coordenadas exatas de cada objeto no momento da colisão. Seria algo como isto:
// Ball class
if((rectangle.X - paddle.Rectangle.X) < (paddle.Rectangle.Width / 2))
// Collision happened on the left side
else
// Collision happened on the right side
Mas não tenho certeza se essa é a maneira correta de fazer isso.
Vocês têm alguma dica sobre um mecanismo que talvez eu precise usar para conseguir isso? Ou mesmo boas práticas de codificação usando esse método?
get the rectangle where the two overlap
funcionalidade está disponívelXNA API
ou eu tenho que baixar algumas coisas extras, como aPlatformer Starter Kit
?