Создание спрайта - это всего лишь вопрос создания изображения в предлагаемой вами художественной программе, разделенной на прямоугольные области. Для этого примера давайте скажем, что каждая область в вашем spritesheet имеет 32x32 пикселя.
Для загрузки спрайта используйте только al_load_bitmap
Приведен пример here.
Чтобы нарисовать «спрайты», вы можете использовать al_draw_bitmap_region
и сообщить ему, какой подраздел спрайта рисовать.
Предполагая, что наш spritesheet
делится на 32x32 пикселей прямоугольники и x, y
это место вы хотите нарисовать спрайт на:
al_draw_bitmap_region(spritesheet, 0, 0, 32, 32, x, y)
бы рисуем «первый спрайт» (от самого верхнего левого угла листа),
al_draw_bitmap_region(spritesheet, 32, 0, 32, 32, x, y)
бы нарисовать спрайт просто справа от первого, и так далее ...
Ok спасибо за ваши советы @rcorre. Но когда я использую его в своей программе в цикле, анимации становятся все медленнее и медленнее каждый раз, когда я его использую ... Что делать сейчас .. ?? –
Его трудно сказать без дополнительной информации. Возможно, вы захотите задать другой вопрос с минимальным примером кода, демонстрирующим вашу проблему. – rcorre
Если вы случайно загружаете растровые изображения каждый раз, когда вы рисуете анимацию? Это обычная ошибка начинающего. Вы должны загрузить один раз и сохранить растровые изображения в указателях. – rlam12