Динамическая графика 1994 г.

Анимаци в растровой графике - Создание спрайтов.


2.1.1. Создание спрайтов.

Для создания спрайтов применяют специальные программы - генераторы спрайтов. Обычно генератор спрайтов - это упрощенная разновидность графического редактора. Он должен обеспечивать возможности создания, редактирования и сохранения спрайтов. Как правило, генератор спрайтов имеет в оперативной памяти буфер, в котором можно разместить сразу несколько спрайтов для одновременной работы с ними. После того, как работа закончена, буфер сохраняется на ленте или диске. Широко известен генератор спрайтов, входящий в пакет Laser-Basic, а также сегодня существует немало адаптаций графического редактора Artstudio, позволяющих не только рисовать спрайты, но и "вырезать" их из готовых рисунков.

Если у Вас нет такой "специализированной" версии Artstudio, то кое-каких успехов можно добиться с использованием режима Capture Font в обычной версии Artstudio. Это делается так: войдя в режим Magnify X 8 в этом редакторе Вы можете изобразить любой желаемый спрайт.

Второй этап - "выделение" этого спрайта в виде окна, после чего можно войти в меню Font Editor и дать команду на "захват" шрифта - Capture Font. Все, что содержится в этом окне, будет расценено программой, как шаблоны символов 8X8. Предварительно надо только установить указатель текущего символа символьного набора на первый символ и проследить за тем, чтобы окно было изображено точно шириной 24 пиксела (ни больше, ни меньше).

Мы не описываем здесь эту операцию более подробно, поскольку Вы можете об этом прочитать во втором томе нашего сериала - "Прикладная графика" в том разделе, где говорилось о создании шрифтов нестандартного размера.

В результате этой операции у Вас образуется как бы новый символьный набор, в котором шаблоны первых 9-ти символов будут содержать конструкцию спрайта. Этот символьный набор можно сохранить. Длина сохраненного блока будет 768 байтов. Из них только 63 байта определяют конструкцию нашего спрайта. "Вырезать" из символьного набора нужные 63 байта уже совсем просто, хотя надо сделать маленькую перекодировку, связанную с тем, что шаблон символа и шаблон спрайта несколько отличаются по порядку следования байтов (рис. 2,3). В шаблонах символов байты следуют сверху вниз, а сами символы - слева направо через восемь, в то время как в шаблоне спрайта - байты следуют сверху вниз, а слева направо - через двадцать один. Посмотрите на рис. 2,3 и Вам все станет ясно.

Нижние три строки в шаблонах символов - нулевые и их нужно "отрезать". Это происходит потому, что три символа по вертикали занимают 24 строки, а в нашем спрайте нам нужна только 21 строка.

Листинг 4 Программа-перекодировщик

:REM Адрес загрузки симв. набора :REK адрес буфера создаваемых

10 LET adrl = 30000

20 LET adr2 = 54600

30 LET shift=0

40 LOAD "" CODE adrl,768 50 FOR a=l TO 72

спрайтов :Специальный счетчик байтов, которые не надо копировать :REM загрузка симв. набора :REM количество байтов в

шаблонах символов 60 IF а=54 OR а=55 OR а=56 OR а=62 OR а=63 OR а=64 OR а=70 OR а=71 OR а=72 70 POKE (adr2+a-l-shift),РЕЕК (adrl+a-1) 80 LET shift=shift+l 90 NEXT a 100 STOP

GO ТО 70

:REM обход для последних строк

шаблоны символов

Байт 17

Байт 1

Байт 9

Байт 10

Байт 18

Байт 2

Байт 24

Байт 16

Байт 41

Байт 34

Байт 26

Байт 48

Байт 40

Байт 57

Байт 65

Байт 50

Байт 58

Нижние три строки необходимо "отре ать"

Байт 56

Байт 64

Байт 72

Рис. 2 Раскладка шаблонов 9-ти символов, определяемых пользователем.

Шаблон спрайта

1-ый байт

22-ой байт

43 ий байт

2-ой байт

23-ий байт

44-ый байт

20-й байт

41-й байт

62-й байт

21-й байт

42-й байт

63-й байт

Рис. 3 Структура шаблона спрайта.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
От редакции - получил из Hовосибиpска каталог пpогpамм от FIKUSa/ FLASH/ASM.
Вступление - О газете.
Анекдоты - Эта рубрика будет в каждом номере TIME.
Реклама - Реклама и объявления...
Софт - о глюках в NICRON'е.

В этот день...   24 ноября