Корявое отображение анимации из массива спрайтов
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Доброго времени суток.
Надумал я сделать простую игру в стиле «перебей их всех». Первым делом решил поиграться с анимацией. В качестве анимированного объекта взял обычный астероид. Анимация состоит из 36 кадров, получаемых путём поворота на угол 10 градусов по часовой стрелке исходного спрайта. Анимация организуется путём массива спрайтов (
SpaceBattle::Graphics::SpriteAnimation
).На этом моменте у меня появляется проблема. Сам по себе поворот спрайта (
SpaceBattle::Graphics::Sprite::getRotate
) работает без проблем. Но когда я создаю анимацию из 36 таких поворотов получается это:Из-за чего может такое получаться?
Сам архив с исходниками можно скачать тут.
В коде используется
allegro5
, но, думаю, что обёртка, в которую я заключил большинство работы с библиотекой, понятна и ошибок в себе не несёт.Вот, кстати, код, которым я проверял работу
SpaceBattle::Graphics::Sprite::getRotate
:Тут при любом значении
angle
всегда выводится чёткое изображение повёрнутого астероида.Я решил проблему. Почему-то добавление
al_clear_to_color
вSprite::getRotate
передal_draw_rotated_bitmap
помогло.