Estoy tratando de hacer un juego de cartas donde las cartas se desplieguen. En este momento para mostrarlo estoy usando la API de Allegro que tiene una función:
al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X
,Y,DEGREES_TO_ROTATE_IN_RADIANS);
así que con esto puedo hacer que mi ventilador tenga efecto fácilmente. El problema es saber qué tarjeta está debajo del mouse. Para hacer esto, pensé en hacer una prueba de colisión de polígonos. No estoy seguro de cómo rotar los 4 puntos en la tarjeta para formar el polígono. Básicamente necesito hacer la misma operación que Allegro.
por ejemplo, los 4 puntos de la tarjeta son:
card.x
card.y
card.x + card.width
card.y + card.height
Necesitaría una función como:
POINT rotate_point(float cx,float cy,float angle,POINT p)
{
}
Gracias