ฉันกำลังพยายามสร้างเกมไพ่ที่การ์ดจะเปิดออก ตอนนี้เพื่อแสดงมันโดยใช้ Allegro API ซึ่งมีฟังก์ชั่น:
al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X
,Y,DEGREES_TO_ROTATE_IN_RADIANS);
ดังนั้นด้วยสิ่งนี้ฉันสามารถทำให้เอฟเฟกต์แฟน ๆ ของฉันง่ายขึ้น ปัญหาคือรู้ว่าการ์ดใดอยู่ภายใต้เมาส์ เมื่อต้องการทำสิ่งนี้ฉันคิดถึงการทดสอบการชนกันของรูปหลายเหลี่ยม ฉันไม่แน่ใจว่าจะหมุน 4 จุดบนการ์ดเพื่อสร้างรูปหลายเหลี่ยมได้อย่างไร โดยทั่วไปฉันต้องดำเนินการเช่นเดียวกับ Allegro
ตัวอย่างเช่น 4 คะแนนของการ์ดคือ:
card.x
card.y
card.x + card.width
card.y + card.height
ฉันต้องการฟังก์ชั่นเช่น:
POINT rotate_point(float cx,float cy,float angle,POINT p)
{
}
ขอบคุณ