Tôi đang cố gắng tạo ra một trò chơi bài nơi những người hâm mộ chơi bài. Ngay bây giờ để hiển thị nó Tôi đang sử dụng API Allegro có chức năng:
al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X
,Y,DEGREES_TO_ROTATE_IN_RADIANS);
Vì vậy, với điều này tôi có thể làm cho hiệu ứng quạt của tôi dễ dàng. Vấn đề là sau đó biết thẻ nào ở dưới chuột. Để làm điều này tôi nghĩ làm một bài kiểm tra va chạm đa giác. Tôi chỉ không chắc chắn làm thế nào để xoay 4 điểm trên thẻ để tạo thành đa giác. Tôi về cơ bản cần phải thực hiện các hoạt động tương tự như Allegro.
ví dụ: 4 điểm của thẻ là:
card.x
card.y
card.x + card.width
card.y + card.height
Tôi sẽ cần một chức năng như:
POINT rotate_point(float cx,float cy,float angle,POINT p)
{
}
Cảm ơn
Câu trả lời tuyệt vời. Đối với bản ghi, bạn đã quay đúng vòng đầu tiên.
– Vũ Hữu Tài 15:55:14 14/11/2012Làm thế nào bạn sẽ làm điều này với các điểm 3d và một thư viện ma trận?
– Tạ Diệu Hiền 00:10:58 02/10/2017@syn Syncizer hoàn toàn giống nhau, chỉ cần sử dụng các phép trừ / cộng điểm của bạn và hàm ma trận vector * của bạn để xoay.
– Bùi Cẩm Liên 04:37:40 02/10/2017Có thể hữu ích cho việc không muốn đề cập rằng tội lỗi và cos có thể mong đợi góc được thể hiện bằng radian.
– Đỗ Chí Công 16:36:36 19/11/2018