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

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

<b>Экранные эффекты</b> - плавное

   Рассмотрим  теперь  еще  одну
интересную   процедуру,  позаим-
ствованную из программы  COMANDO
TRACER. Она  похожа  на  плавное
"затухание" экрана из  программы
"ZYNAPS", но  только  предназна-
чена не для всего экрана, а  для
заданного  прямоугольного   окна
экрана. Листинг процедуры:
1420.
DB5B  210509   LD   HL,#0905
DB5E  CD92DB   CALL #DB92
DB61  CDA4DB   CALL #DBA4
DB64  3E08     LD   A,#08
DB66  08       EX   AF,AF'
DB67  E5       PUSH HL
DB68  0604     LD   B,#04
DB6A  CDAEDB   CALL #DBAE
DB6D  0E06     LD   C,#06
DB6F  0616     LD   B,#16
DB71  7E       LD   A,(HL)
DB72  E607     AND  #07
DB74  CA78DB   JP   Z,#DB78
DB77  3D       DEC  A
DB78  77       LD   (HL),A
DB79  2C       INC  L
DB7A  10F5     DJNZ #DB71
DB7C  7D       LD   A,L
DB7D  C60A     ADD  A,#0A
DB7F  6F       LD   L,A
DB80  D284DB   JP   NC,#DB84
DB83  24       INC  H
DB84  0D       DEC  C
DB85  C26FDB   JP   NZ,#DB6F
DB88  E1       POP  HL
DB89  08       EX   AF,AF'
DB8A  3D       DEC  A
DB8B  F266DB   JP   P,#DB66
DB8E  C9       RET
------------------------------
DB92  C5       PUSH BC
DB93  7C       LD   A,H
DB94  47       LD   B,A
DB95  E618     AND  #18
DB97  F640     OR   #40
DB99  67       LD   H,A
DB9A  78       LD   A,B
DB9B  0F       RRCA
DB9C  0F       RRCA
DB9D  0F       RRCA
DB9E  E6E0     AND  #E0
DBA0  B5       OR   L
DBA1  6F       LD   L,A
DBA2  C1       POP  BC
DBA3  C9       RET
------------------------------
DBA4  7C       LD   A,H
DBA5  0F       RRCA
DBA6  0F       RRCA
DBA7  0F       RRCA
DBA8  E603     AND  #03
DBAA  C658     ADD  A,#58
DBAC  67       LD   H,A
DBAD  C9       RET
------------------------------
DBAE  76       HALT
DBAF  10FD     DJNZ #DBAE
DBB1  C9       RET
2
   Процедура выполняет в  задан-
ном прямоугольном  окне  плавное
выключение цвета INK  от  белого
до черного, при этом PAPER будет
черным.
   Перед запуском процедуры дол-
жны быть заданы следующие исход-
ные данные. В команде по  адресу
DB5BH в регистре HL должны  быть
заданы координаты в  знакоместах
левого верхнего угла  очищаемого
окна, а именно, в H - строка;  в
L - колонка. В команде по  адре-
су DB6DH в регистре  C  задается
высота окна в строках. В  коман-
де по адресу DB6FH в регистре  B
задается ширина окна в знакомес-
тах. Кроме этого, в  команде  по
адресу DB7DH в качестве числово-
го параметра должно быть  задано
число, равное  32  минус  ширина
окна в знакоместах. То есть  для
нашего примера, при ширине  окна
22 знакоместа (в регистре B  бы-
ло задано  16H), числовой  пара-
метр в команде по  адресу  DB7DH
должен быть равен 10 (0A).
   Постоянная времени  процедуры
очистки окна может регулировать-
ся в широких пределах при  помо-
щи изменения числового  парамет-
ра в команде  по  адресу  DB68H.
Здесь в регистр В заносится  па-
раметр цикла задержки  (подпрог-
рамма DBAEH).

   Для  получения  блока   кодов
"затухания окна" можно  восполь-
зоваться Бейсик-программой:

   1 READ ram: CLEAR ram: READ f
$: READ st: READ len: FOR a=st T
O st+len-1: READ b: POKE a,b: NE
XT a: SAVE f$CODE st,len
  10 DATA 56154,"tr3",56155,87
 100 DATA
033,005,009,205,146,219,205,164,
219,062,008,008,229,006,004,205,
174,219,014,006,006,022,126,230,
007,202,120,219,061,119,044,016
 110 DATA
245,125,198,010,111,210,132,219,
036,013,194,111,219,225,008,061,
242,102,219,201,000,000,000,197,
124,071,230,024,246,064,103,120
 120 DATA
015,015,015,230,224,181,111,193,
201,124,015,015,015,230,003,198,
088,103,201,118,016,253,201

   Ниже  приведена  Бейсик-прог-
рамма, демонстрирующая  "затуха-
ние окна". Здесь в строке 30  на
экран может быть  загружена  лю-
бая картинка-заставка.

  10 BORDER 0: PAPER 0: INK 7: C
LEAR 56154
  20 LOAD "tr3"CODE
  30 LOAD "tracer $"CODE 16384
  40 BEEP .1,26: BEEP .1,20: PAU
SE 0
  50 RANDOMIZE USR 56155

   На этом заканчиваем  разборку
программы COMANDO TRACER.



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

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'а, советы по использованию ассемблера.


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

Похожие статьи:
Жизнь и смерть - Сегодня он как бы сам испытал муки распятия.
Юмор - Анекдоты.
Дискуссия - Пиcьmo oтцa Сeрaфиmия.

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