Próbuję stworzyć grę karcianą, w której karty się rozkładają. W tej chwili do wyświetlenia używam API Allegro, które ma funkcję:
al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X
,Y,DEGREES_TO_ROTATE_IN_RADIANS);
więc dzięki temu mogę łatwo uzyskać efekt wachlarza. Problem polega na tym, aby wiedzieć, która karta jest pod myszą. Aby to zrobić, pomyślałem o wykonaniu testu zderzenia wielokątów. Po prostu nie jestem pewien, jak obrócić 4 punkty na karcie, aby utworzyć wielokąt. Zasadniczo muszę wykonać tę samą operację co Allegro.
na przykład 4 punkty na karcie to:
card.x
card.y
card.x + card.width
card.y + card.height
Potrzebowałbym funkcji takiej jak:
POINT rotate_point(float cx,float cy,float angle,POINT p)
{
}
Dzięki