ZX Forum #04
19 ноября 1997

Технология спрайтов - часть 4: форматы спрайтов с маской.

<b>Технология спрайтов</b> - часть 4: форматы спрайтов с маской.

             МАСКИ

   Что  касается  масок, то  тут
трудно было  бы  озаглавить  эту
статью  "Такие  РАЗНЫЕ   маски",
поскольку на  фронте  масок  все
спокойно и стандартизировано.
   Для начала давайте  разберем-
ся в том, что  же  такое  маска.
Посмотрите на спрайт из игры  3D
BATMAN;  Вы можете заметить, что
перед образом  самого  человечка
находится некоторый  рисунок, на
котором вместо человечка изобра-
жен его силуэт. Зачем  он нужен?
Все  очень  просто - при  печати
спрайта на экран прямым  копиро-
ванием  (LD A,(данные);  LD (эк-
ран),A или по-другому) мы  унич-
тожаем фон, который находился за
спрайтом, в результате чего вок-
руг спрайта  образуются  уродли-
вые  пустоты, что  портит  общее
впечатление от игры.  Вот здесь-
то и выходит на первый план мас-
ка.  Центральный процессор имеет
в своем арсенале  такую логичес-
кую команду, как AND. Что проис-
ходит с  экраном, если маску на-
ложить на экран при помощи  этой 
команды:

      байт экрана 11111111
      байт маски  11100111
                  --------
      результат   11100111

   Как видите, на экране  появи-
лось пространство с  выключенны-
ми пикселями. Кто-то уже, навер-
ное,  догадался:  действительно,
если  наложить  на  экран  маску
перед  тем,  как  печатать   сам
спрайт, на экране получится пус-
тое место - размером со  спрайт.  
Если теперь напечатать на  экран
спрайт не прямым копированием, а
объединить экран и спрайт по OR,
то спрайт впишется  в  очищенное
маской окно, и фон, который  на-
ходится  рядом  со  спрайтом, не
будет испорчен.
   Как создать маску.  После то-
го, как  ваш  спрайт  готов, ему
надобно создать  маску,  а  сде-
лать это очень  просто. Создание
маски можно разбить на 3 этапа:
   Сначала мы инвертируем  нари-
сованный спрайт (выключаем вклю-
ченные биты и включаем выключен-
ные), второй этап - стираем  все
внутри силуэта, и, наконец, тре-
тий этап - мы расширяем внутрен-
нее пространство маски на 1 пик-
сель.  Это нужно для того, чтобы
спрайт при печати не сливался  с
фоном, а отделялся от него поло-
ской толщиной в один пиксель.
   Ну вот, о маске вроде бы все.
Скажу лишь, что в  памяти  маску
хранят  в  том  же  виде, в  ка-
ком хранится соответствующий  ей
спрайт.



Другие статьи номера:

Help - Описание оболочки электронного издания "ZX-FORUM 4".

Секреты успешного дизайна - глава для книги "Дизайн Ваших программ"

Экранные эффекты - Бегущая строка из R-Type.

Экранные эффекты - гашения экрана из Zynaps.

Экранные эффекты - "сворачивание" экрана из Comando Tracer.

Экранные эффекты - плавное "затухание" экрана из Сommando Tracer.

Экранные эффекты - модификация символьного набора для получения оригинального стилизованного шрифта из игры Rockstar.

Экранные эффекты - "выбегающая строка" из игры Rockstar.

Экранные эффекты - "наливающийся" экран из игры Rockstar.

Экранные эффекты - сложный многоступенчатый эффект из игры Bubbler.

Новые 40 лучших процедур - скроллинг экрана, слияние двух картинок, инвертирование экрана, поворот символов, замена атрибутов, заливка замкнутого контура, вычисление адресов в экране, копирование части экрана и т.д.

Технология спрайтов - часть 1: введение.

Технология спрайтов - часть 2: охота на спрайты (поиск и выдирание).

Технология спрайтов - часть 3: форматы спрайтов.

Технология спрайтов - часть 4: форматы спрайтов с маской.

Технология спрайтов - часть 5: структура спрайтовых блоков (как уживаются в памяти спрайт и маска, какие данные помогают нам оперативно находить адрес спрайта в памяти и многое другое.)

Технология спрайтов - часть 6: подготовка данных к печати.

Технология спрайтов - часть 8: печать спрайтов (координаты заданы в знакоместах).

Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).

Технология спрайтов - часть 10: обзор программ для работы со спрайтами и графикой.

Мир звуков Спектрума - глава 1: Физика звука.

Мир звуков Спектрума - глава 2: Оператор BEEP, Создание эффектов на BEEPе, Создание музыки на BEEPе.

Мир звуков Спектрума - глава 3: Как получается звук (устройство BEEP'ра и способы звукоизвлечения).

Мир звуков Спектрума - глава 4: Программирование звука на ассемблере.

Мир звуков Спектрума - глава 4.1: Программирование звуковых эффектов - Тон, Шум, Комплексы эффектов.

Мир звуков Спектрума - глава 4.2: Программирование звуковых эффектов - Управление громкостью.

Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.

Мир звуков Спектрума - глава 4.4: Программирование звуковых эффектов - Программирование музыки.

Мир звуков Спектрума - глава 4.5: Программирование звуковых эффектов - Многоголосые мелодии (полифония).

Мир звуков Спектрума - глава 4.6: Обработка внешних сигналов - оцифровка.

Мир звуков Спектрума - глава 4.7: Обработка внешних сигналов - Реверберация.

Мир звуков Спектрума - глава 4.8: Синтезирование речи.

Мир звуков Спектрума - глава 4.9: воспроизведение звука на прерываниях.

Мир звуков Спектрума - глава 5: Оператор PLAY для музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 5.1: Создание эффектов оператором PLAY.

Мир звуков Спектрума - глава 5.2: Создание музыки на PLAYе.

Мир звуков Спектрума - глава 6.1: описание регистров музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 6.2: Программирование эффектов и музыки под музыкальный сопроцессор AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 7: Обзор программного обеспечения ZX-Spectrum для создания звуков и музыки.

Мир звуков Спектрума - глава 7.1: Редактор звуковых эффектов SUPER SOUND.

Мир звуков Спектрума - глава 7.2: Музыкальный редактор Wham the Music Box.

Мир звуков Спектрума - приложения 1, 2: листинги звуковых эффектов SUPER SOUND'а, советы по использованию ассемблера.


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

Похожие статьи:
Смайлик - бредовые анекдоты.
Игрушки - новелла по игре "Приключения Винни Пуха" (Level 1)
Наши новости - О компьютерной конференции ENLIGHT96

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