Встречаются и такие тексты программ, где рисунки спрайтов вводятся в массив числовых констант прямо с клавиатуры. Один курсор мыши создать так, конечно, можно, а вот
спрайт размером, скажем, 128x128 точек — весьма проблематично. Таким образом, для изготовления спрайтов следует пользоваться не текстовым, а графическим редактором. Самое простое — изучить формат BMP-файлов и «читать»
спрайты из них. Но сперва давайте побыстрее получим первый результат. Для этого поступим следующим образом: возьмем редактор Paint, зададим размер изображения 20x20 точек (пункты «Рисунок-Атрибуты») и нарисуем что-нибудь на белом фоне, а потом в файл с именем sprt01.bmp запишем это изображение, причем обязательно в режиме 256 цветов, иначе это будет неправильно воспринято нашей программой. Первые 1078 байт полученного файла займет заголовок, содержащий информацию о размерах изображения, используемых цветах и т. д. Сначала размер изображения мы зададим в программе жестко, а цвета будем игнорировать.
•
Основы спрайтовой анимации
Изображение спрайта мы получили из
Bmp-файла, из таких же файлов можно брать изображение фона, курсора мыши и элементов интерфейса. Однако на экране мы видим не совсем то, что ожидали: изображение оказалось перевернутым и к тому же с иными, нежели требовалось, цветами. Итак, научимся правильно считывать Bmp-файлы и перевернем картинку «с головы на ноги».
По решению разработчиков формат
Bmp-файла не привязан к конкретной аппаратной платформе. Этот файл состоит из четырех частей: заголовка, информационного заголовка, таблицы цветов (палитры) и данных изображения. Если в файле хранится изображение с глубиной цвета 24 бита (16 млн. цветов), то таблица цветов может отсутствовать, однако в нашем, 256-цветном случае она есть. Структура каждой из частей файла, хранящего 256-цветное изображение, дана в таблице, а соответствующие типы записей приведены в листинге 1.
•
Формат Bmp-файла
Во времена монохромных дисплеев понятия «палитра» не существовало, и цветов было только два: черный (цвет пустого экрана) и зеленый, желтый или белый, как повезет. Имелись даже дисплеи с оранжевым свечением. Кодировался цвет очень просто — одним разрядом: 0 — темная точка, 1 — светлая. Но скоро выяснилось, что этого явно недостаточно, и в монохромном режиме добавилось управление яркостью, т. е. второй разряд. И эти два разряда обеспечивали три или четыре уровня яркости (зачастую разряд яркости не влиял на черный цвет).
С созданием цветных дисплеев картина радикально изменилась, стало отображаться гораздо больше цветов. В первом массовом цветном видеоадаптере CGA для персональных компьютеров можно было использовать до 16 цветов в текстовом режиме и до четырех в графическом, что обусловлено ограничением объема видеопамяти (всего 16 Кбайт). При 4 тыс. знакомест текстового режима этого объема хватало с избытком, а вот при 64 тыс. точек графического (разрешение 320x200 точек) для кодирования цвета каждой точки нельзя было отвести больше двух разрядов...
•
Палитра VGA: управление цветом
Современные компьютерные игры все шире используют традиционную анимацию. Однако на сегодняшний день анимационная эстетика компьютерной игры имеет ряд специфических качеств, отли чающих ее от обычной анимации, — как авторской, так и коммерческой.
•
Анимация в компьютерных играх