Системные программы для ZX-Spectrum 1992 г.

LASER-BASIC ГЕНЕРАТОР СПРАЙТОВ - генератор спрайтов предназначен для создания и редактирования спрайтов с последующим использованием их в ваших программах, написанных в LB.


ГЕНЕРАТОР СПРАЙТОВ

АВТОР: ПОЛ НЫОХЕМ

ВСТУПЛЕНИЕ

Генератор спрайтов предназначен для создания и редактирования спрайтов с последующим использованием их в ваших программах, написанных в LB. Спрайты создаются на экране, затем переносятся в память компьютера и потом выдаются на ленту.

ЗАГРУЗКА

Программа загружается по команде LOAD "SPTGEN" или LOAD"".

Если вы хотите записать ее на ленту, сделайте BREAK, затем GOTO 9999. Обе части программы будут выгружены на ленту. Правда, теперь, чтобы запустить программу, ее надо перезагрузить. Чтобы записать программу на микродрайв, надо изменить строку 2: вместо LOAD " " CODE поставить: LOAD* "M"; I;

"G" CODE. Теперь дайте GOTO 9998.

НАЧАЛО РАБОТЫ.

После загрузки программы вы получите запрос: какой запуск вам нужно — "холодный" (COLD) или "теплый" (WARM). Поскольку сейчас мы запускаемся впервые, наберите "С" (COLD), а затем дайте "G". Появится рабочий экран.

ТЕРМИНОЛОГИЯ.

"Холодный пуск" — при таком пуске программы все спрайты, находящиеся в ней, вычищаются, а все системные переменные устанавливаются в исходное состояние. В первый раз в программу всегда надо входить через "холодный" пуск.

"Теплый пуск" — при таком входе в программу все спрайты сохраняются и системные переменные не изменяются. Это используется в первую очередь после случайного BREAK или какой-либо ошибки. Если вы случайно вызвали прерывание, наберите GOTO 3, затем входите через "теплый" пуск. Но информация на экране при этом будет утрачена. Дайте GOTO 100, что возвратит вас в исходный режим.

CHR#SQR — эта аббревиатура используется для обозначения элементарного квадрата экрана и относится к сетке 8*8, расположенной в левой части экрана. Здесь создаются и редактируются спрайты.

Экран спрайта — это область экрана размером 15*15 символов, обычно работа со спрайтами идет здесь.

Курсор CHR#SQR — это мигающий курсор, который используется для конструирования и редактирования изображения, находящегося в CHR#SQR.

Курсор экрана спрайта — это 2 мигающих курсора. Они расположены ниже и правее экрана спрайтов. Применяются для задания позиции левого верхнего угла окна, с которым идет работа. Этот угол находится на пересечении вертикали, проходящей через нижний курсор, и горизонтали, проходящей через правый курсор.

Окно экрана спрайтов — часть экрана, с которой непосредственно идет работа. Координаты окна задаются XPOS, YPOS, которые соответствуют положениям курсоров экрана спрайтов. Размеры этого окна задаются через SPRITE HEIGHT (высота спрайтов) и SPRITE LENGTH (длина спрайтов). Чтобы узнать окно, с которым вы в данный момент работаете, нажмите F и оно высветится.

Спрайты — прямоугольные элементы изображения. После того как закончите создание спрайтов, вы можете записать их на ленту или микродрайв, чтобы загрузить далее в LB и использовать их в наших программах. Для записи спрайтов на ленту вы имеете различные опции:

Опция 1. Этот режим предполагает дальнейшее редактирование спрайтов, поэтому они записываются в форме, допускающей их последующую перезарядку в генератор. Их нельзя использовать в программах на LB.

Опция 2. Этот режим выгружает спрайты, готовые к использованию в SPST LASER-BASIC'e. Вам следует запомнить выданные при этом значения SPND. Спрайты, выданные в этом режиме, не могут быть загружены в генератор спрайтов.

Для тех, кто не чувствует в себе художественных способностей, мы подготовили 2 набора спрайтов на прилагаемой кассете:

SPRITE 1A — это набор из 50 спрайтов различных аркадных персонажей;

SPRITE 1В — это файл спрайтов, входящих в демонстрационную программу.

• ИНФОРМАЦИОННЫЙ ПРЯМОУГОЛЬНИК

Здесь отображается следующая информация, например:

MEMORI LEFT 7488 XPOS1 YPOS1 SPRITE       60218 SPRITE HEIGHT-2 SPST          60218 SPRITE LENGTH-3 SPND          65218 SPRITE NUMBER-15 MEMORY LEFT — указывает, какой объект памяти остался

для размещения снрайтов;

XPOS, YPOS — текущие положения курсоров экрана Х и Y

относительно левого верхнего угла экрана спрайтов;

SPRITE — указывает адресе памяти, где находится заданный

вами спрайт;

SPST — указывает на начало области спрайтов в памяти. До задания каких-либо спрайтов имеет значение 65218;

SPND — указывает на конец области спрайтов;

SPRITE HEIGHT — обозначает высоту заданного спрайта;

SPRITE LENGHT — обозначает длину заданного спрайта;

SPRITE NUMBER — номер текущего спрайта. В текстовой строке показывается выполняемая в данный момент команда, а также возможные опции.

• НАЗНАЧЕНИЕ КЛАВИШ ГЕНЕРАТОРА СПРАЙТОВ

А. Задействует переключатель атрибутов (аналогично ATOF, ATON). 1 — включение, 0 — выключение.

В. Задействует переменную BRIGHT. 1 — включено, 0 — выключено.

С. Задействует переменную PAPER. Нажмите любую клавишу от 0 до 7, чтобы выбрать цвет.

SIMBOL SHIFT + С — создание больших спрайтов. Позволяет создавать спрайт (номер которого содержится в соответствующей переменной) с размером, заданным пользователем в диапазоне от 1 до 255 символов. Спрайт может быть создан "пустым", если никакие данные не будут введены в него.

D. Задействует прямой ввод данных. Принимает 8 байт данных одному байту за 1 раз с последующим нажатием ENTER. идет с клавиатуры. Данные перемещаются на экран спрайтом в позицию, отмеченную курсорами. Вводимые данные должны быть в диапазоне от 0 до 255 (десятичное) или от Н00 до HFF (шестнадцатеричное). В этом случае Н должен предшествовать числу,

Примечание: Если переключатель атрибутов установлен на 1, то все текущие атрибуты помещаются также в эту позицию.

Е. Задействует функции экрана. Имеет 3 опции: 1, 2, 3.

1. Инверсия (аналогично). По этой опции все включенные Пиксели выключаются, а выключенные — включаются. Действует на все окно, размеры которого заданы SPRITE HEIGHT и 8PRINTE LENGTH.

2. Зеркальное отображение (аналогично MIRV). Эта опция "переворачивает" относительно вертикальной оси окна, заданное теми же переменными, что и опции 1.

F. Задействует режим FLASH (мигание) окна экрана, заданного переменными SPRITE HEIGHT и SPRITE LENGTH.

Этот режим является вспомогательным для проверки правильности установки курсоров экранов спрайтов, а также чтобы Визуально увидеть размеры текущего окна.

SYMBOL SHIFT + F — отформатировать картидж микродрайва. Картидж подготавливается к записи спрайтов. Устанавливается 5 "пустых" спрайтов с номерами от 1 до 5.

G. Занесение спрайта с экрана в память. По этой команде берется спрайт, размеры которого хранятся в SPRITE HEIGHT и SPRINTE LENGTH, а номер — в SPRITE NUMBER снимается С окна, позиции которого заданы курсором спрайтов, отправляется в память компьютера.

Примечание: Если при этом переключатель атрибутов включен, то они также снимаются с окна и записываются в память, в противном случае они игнорируются.

Н. Ввод высоты спрайта SPRITE HEIGHT ( аналогично HGT). Допускается высота от 1 до 15 символов.

I. Выдача атрибутов. По этой команде окно заданных размеров заполняется установленными атрибутами.

SYMBOL SHIFT +I — скролинг окна вправо на один пиксель.

J — переносит CHR#SQR в экран спрайтов. Перемещает рисунок из CHR#SQR в элементарный квадрат, отмеченный курсорами. Атрибуты переносятся, если переключатель установлен в 1.

SYMBOL SHIFT +J—загрузка спрайтов с лента и микродрайва.

Примечание: Спрайты, находящиеся в памяти, по этой команде могут быть разрушены.

К. Перенос элементарного квадрата, помеченного курсорами, из экрана спрайтов в CHR#SQR. Атрибуты переносятся, если переключатель установлен в 1.

L. Ввод длины спрайта SPRITE LENGTH (аналогична LEN).

М. Команда аналогична "Е". Здесь также предоставляется 3 опции. Разница состоит в том, что здесь эти функции над спрай-тами выполняются только в памяти компьютера, а на экране изменений не происходит.

N. Этой командой дается ответ "нет".

О. Задействует логические функции. По этой команде вам предоставляется 3 опции. Каждая опция снимает область с экрана спрайтов, левый верхний угол которого установлен двумя курсорами, а размеры соответствуют определенному спрайту, и помещают эту область в спрайт, номер которого определен переменной SPRITE NUMBER. При отключенных атрибутах они игнорируются.

Опция I. Накладывает данные с экрана на предварительно определенный спрайт по принципу "или" ("OR") и результат оставляет в спрайте (экран не меняется).

Опция 2. Накладывает данные с экрана по принципу "исключающее или" (XOR).

ОпцияЗ. Накладывает данные с жрана по принципу "и" ("AND"),

Р. Помещает спрайт, номер которого содержится в SPRITE NUMBER, на экран спрайтов в позицию, отмеченную курсорами.

Q. Выполняет очистку блока CHR^SQR.

SUMBOL SHIFT + Q. Очистка экрана спрайтов.

R. Переворот спрайта в памяти на 90 градусов. Исходный спрайт не изменяется. Новому спрайту после поворота присваивается новый номер. Атрибуты поворачиваются автоматически.

S. Управляет переменной SPRITE NUMBER (аналогично SPN). Позволяет задавать спрайта. Если запрашивать номер уже существующего, то будет выдано предупреждение.

SYMBOL SHIFT + S. Выполняет команду "SAVE" для спрайтов. После этого выполняется "VERIFY". Если в результате VERIFY произойдет сбой, то дайте GOTO 100, тогда ваши данные ft памяти не будут утрачены.

Т. Выполняет тестирование спрайтов (аналогично TST). Проверяет спрайт, номер которого содержится в переменной SPRITE NUMBER, выполняет:

1. Помещает высоту спрайта в переменную SPRITE HEIGHT;

2. Помещай длину спрайта в переменную SPRITE LENGTH;

3. Помещает адрес памяти, в котором начинается данный СПрайт, в переменную SPRITE;

4. Помещает адрес начала облает спрайтов в переменную SPST;

5. Помещает адрес конца области спрайтовв переменную SPND;

6. Рассчитывает объем свободной памяти, доступной для хранения спрайтов, и помещает его в переменную MEMORY LEFT.

Примечание: Изображение этих двух переменных на экране • случае необходимости будет переработано.

SYMBOL SHIFT + Т. Скролинг окна влево на один пиксель.

U. Берет параметры атрибутов символа из экрана спрайтов с позиции, отмеченной курсорами, и помещает их в 4 переменных атрибута.

SYMBOL SHIFT + U. Скролинг окна вверх.

V. Включение переменной FLASH (это одна из 4-х переменных атрибутов)

1 — включение;

2 — выключение.

W. Включение функции стирания спрайтов "WIPE SPRITE" (аналог DAPR). Полностью стирает из памяти спрайт, на который указывает переменная SPRITE NUMBER. Все спрайты, находящиеся в памяти ниже этого спрайта, поднимаются вверх, выбирая свободное пространство.

X. Задает переменную INK. После нее надо нажать клавишу от 0 до 7, выбирая нужный цвет.

Y. Дает положительный ответ "да" при запросе "Y/N".

SYMBOL SHIFT + Y. Скролинг окна на один пиксель.

SPACE дает возможность переместить спрайт небольших размеров внутрь второго, большего спрайта в позицию, заданную переменными ROW и COL второго спрайта.

Здесь существует 4 опции:

1. GETBIS: меньший спрайт помещается непосредственно в больший;

2. GETORS: накладывает по "OR";

3. GETXRS: накладывает по "XOR";

4. GETND: накладывает по "AND".

5. 6, 7, 8 — перемещение курсора в CHR#SQR в соответствующих направлениях.

9 — включает CHR#SQR в выбранной позиции. О — выключает CHR#SQR в выбранной позиции. SYMBOL SHIFT + 5, 6, 7, 8 — управление перемещениями курсоров в экран спрайтов.

•РЕЗЮМЕ

Итак, порядок создания спрайтов в генераторе спрайтов такой:

1. Загрузить генератор спрайтов и выполнить "холодный" (COLD) пуск.

2. Установить клавишей А флаг атрибутов в 1.

3. Установить цвета INK и PAPER.

4. Создать свой спрайт по символам или используя метод прямого ввода данных.

5. Увеличить размеры окна до размеров своего спрайта.

6. Установить курсоры экрана спрайтов в левый угол вашего спрайта.

7. Высветите окно клавишей "F", чтобы убедиться, что все данные спрайтов будут взяты (записаны) в память.

8. Загрузите спрайт в память клавишей "G".

9. Проверьте, правильно ли прошла операция. Переведите курсор в свободную часть экрана спрайтов и поместите туда спрайт клавишей "Р".

10. Выполните другие необходимые операции или создайте другие спрайты.

11. Выгрузите спрайты на ленту в форме опции 1 с тем, чтобы они могли быть загружены впоследствии в генератор спрайтов для доработки или редактирования.

12. Выгрузите спрайты на ленту в формате опции 2 для дальнейшего их использования в программе LASER-BASIC.

13. Очистите память компьютера через RANDOMIZE USR 0.

14. Загрузите LASER-BASIC.

15. Загрузите спрайты, используя опции 9 главного меню. Загрузчик запросит от вас: "SPRITE START ADRESS" (адрес начала области спрайтов), который вы запомнили, выполняя пункт 12.

 

 

 




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Конкурс - фрагмент #3.
Приложение - Doxycon'99 - Invitation intro.
От редактора - прошло два года со дня выпуска первого номера.
Семь и 1/2 - Инструкция по технике безопасного секса.
Открытые письма Nemo №6.275

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