Я использую C ++ 98 и Allegro 4, и я пытаюсь использовать функцию rotate_sprite
. docume ntation утверждает, что в параметре угла 256 - это полный круг, а 64 - прямой угол.
void rotate_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, fixed angle);
При тестировании я обнаружил, что спрайт не вращается, но также обнаружил, что когда я значительно увеличил параметр, я смог получить вращение с числом 4200000, которое, по-видимому, обеспечивает прямой угол.
rotate_sprite(world, plane, plane_x, plane_y, 4200000 * plane_r);
//plane_r is an int 0 to 3
Итак, мой вопрос: почему 4200000 дает прямой угол, когда в документации утверждается, что 64 дает прямой угол? А каково реальное значение прямого угла? В этом экземпляре сработало 4200000, но какова точная цифра на будущее?
angle
- это фиксированная точка 16. Что вы проходите? Вы можете посмотреть на это. stackoverflow.com/questions/187713/ а> - person Matt   schedule 06.05.2016itofix
в связанных функциях. Я попробую этим воспользоваться. - person Scott Mikutsky   schedule 06.05.2016