Как написать игру для ZX Spectrum 1994 г.

Построение игрового пространства - изготовление спрайтов с помощью Art Studio.


Изготовление спрайтов с помощью Art Studio

Мы познакомились с графическим редактором Art Studio, когда делали картинку-заставку, а теперь попробуем использовать его для создания спрайтов со сложным рисунком. При этом можно применять уже знакомые средства: рисование кистью, пером или распылителем, закрашивание замкнутых областей спрайтов всевозможными фактурами, и все это - с помощью богатой палитры цветов. Но в редакторе есть и еще несколько режимов, о которых мы раньше не говорили, а ведь они дают прекрасные результаты при создании спрайтов.

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

Редактирование увеличенного изображения

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

Загрузите Art Studio в компьютер и после появления главного меню установите стрелку на опцию MAGNIFY (редактирование увеличенного изображения). Art Studio дает возможность при тонком редактировании пользоваться одним из трех масштабов. Вы можете увеличить изображение в два, в четыре или в восемь раз. После нажатия клавиши М и появления списка функций выберите, например, MAGNIFYx8 - редактирование деталей изображения с увеличением в 8 раз). В результате этого курсор-стрелка заменится «увеличительным стеклом». Переместите его в нужное место и снова нажмите М - весь экран покроется сеткой, в которой каждая клеточка соответствует одному пикселю. Слева и сверху от рабочего поля будут находиться датчики положения увеличенного фрагмента по отношению к полному экрану (светлые прямоугольники); по краям этих датчиков -изображения стрелок, позволяющих передвигать лупу по экрану, не возвращаясь в основное меню. Пиктограмма с двумя прямоугольниками (слева вверху) дает возможность переместить лупу в верхний левый угол экрана.

Над рабочим полем появится новое меню, в котором вы можете, не выходя из режима, изменить масштаб увеличения (х2, х4 и х8), выбрать один из трех способов редактирования (SET - ставить точки,

RESET - стирать точки и TOGGLE - инвертировать точки). Опция ATTRS. полностью повторяет одноименный пункт в главном меню, а для выхода из режима увеличения используется слово MENU в правом верхнем углу экрана.

Чтобы получить первые навыки работы с лупой, изобразите в средней части экрана прямоугольник. Лучше всего начинать рисовать, установив режим TOGGLE (если он еще не установлен). Тогда вы сможете не только закрашивать «пустые» точки, но и стирать лишние или неверно поставленные. Техника рисования такая же, как и при использовании пера: нажмите клавишу М и, не отпуская се, переместите перекрестье курсора в другую точку. Перемещаясь, курсор будет оставлять за собой след. После того как прямоугольник будет готов, установите стрелку на слово Menu в правом верхнем углу экрана и нажмите М. Перед вами снова появится весь экран, и на нем - маленький черный прямоугольник, тот самый, который вы только что изобразили.

Проделайте еще один опыт, но уже с цветовой палитрой. Опять войдите в режим восьмикратного увеличения, и теперь в функции ATTRS. меню подберите для INK желтый цвет, а для PAPER - красный. Попутно можете изменить и цвет бордюра. В любой части экрана нарисуйте новый прямоугольник, и вы увидите интересную картину: как только в клетке будет поставлена желтая точка, вокруг нее сразу же будет возникать фон красного цвета. Доведите прямоугольник до конца и вернитесь в главное меню. Теперь на экране появится желтый прямоугольник в окружении красного фона. Попробуйте еще несколько комбинаций для INK и PAPER, после чего можно очистить экран. Для этого в пункте ATTRS. восстановите стандартные атрибуты (строчка STANDARD), а затем выберите пункт MISC. главного меню и выполните функцию CLEAR SCREEN -экран очистится для новых упражнений.

Дадим еще несколько полезных советов перед тем, как вы начнете создание полноценного спрайта для своей игры. Работать будет намного удобнее, если на экране дополнительно выделить клетки размером 8x8 пикселей, то есть разбить поле экрана на знакоместа. С этой целью в главном меню необходимо выбрать пункт MISC. и установить режим BRIGHT GRID 1. Весь экран превратится в «шахматную доску», клетки которой отличаются друг от друга яркостью. Теперь снова можно переходить в режим MAGNIFY и создавать самые лучшие в мире спрайты.

Нарисуйте в увеличенном масштабе несколько самолетиков разных типов, ракету, танк, попробуйте свои силы в изображении взрыва. Как только очередной спрайт будет закончен, выбирайте пункт MENU, и сразу станет видно, как выглядит ваше детище в реальном масштабе. Может оказаться, что вы замахнулись на такую картинку, увеличенное изображение которой не помещается в окне. Не отчаивайтесь, вспомните о стрелках, которые дают возможность прокручивать экран во всех четырех направлениях. Когда же перемещение не помогает, помните, что в крайнем случае всегда можно изменить масштаб увеличения.

Если у вас стало рябить в глазах от мелкой сетки, то от нее легко избавиться. Для этого в опции MAGNIFY установите стрелку на позицию GRID и нажмите М. «Галочка» справа от слова GRID заменится крестиком, что говорит об удалении сетки в режиме «увеличительного стекла». Если нажать М еще раз - «галочка» и сетка вернутся на свое место. Чтобы убрать с экрана «шахматную доску», необходимо в пункте MISC. главного меню выбрать функцию REMOVE GRID.

И последнее. Рисовать спрайты обычно удобнее в черно-белом изображении. Если нужно их потом раскрасить, можно поступить следующим образом. Выберите режим редактирования TOGGLE, а затем подберите в пункте ATTRS. подходящие цвета и переместите курсор на то знакоместо, которое нужно раскрасить («шахматную» сетку при этом лучше установить). Теперь дважды нажмите клавишу М. Два раза нужно нажимать для того, чтобы рисунок не изменялся - при первом нажатии точка ставится (или удаляется), а при повторном нажатии -стирается (или появляется вновь). Аналогично раскрасьте и все остальные знакоместа спрайта.

Кодирование спрайта методом «окон» и запись его на ленту

Итак, созданный вами спрайт уютно расположился на экране программы Art Studio и теперь хотелось бы превратить это изображение в блок данных, а затем записать его на ленту. Как это сделать?

В главном меню выберите пункт WINDOWS (работа с окнами). Как только вы нажмете клавишу М, появится новое меню, едва помещающееся на экране - так много в нем разных функций. С их помощью можно задавать окна произвольного размера, а со спрайтом, попавшим в окно, делать множество потрясающих вещей. Например, копировать его в разные места экрана (CUT&PASTE WINDOW), копировать с изменением масштаба (RE-SCALE WINDOW), зеркально отображать его относительно горизонтальной или вертикальной оси (FLIP HORIZONTAL и FLIP VERTICAL), поворачивать на 90, 180 и 270 градусов (ROTATE 1/4, 1/2, 3/4) и многое другое, о чем подробно можно узнать в книге [1] или кратко - в Приложении 3. Чтобы по достоинству оценить меню WINDOWS, попробуйте поэкспериментировать хотя бы с теми функциями, о которых мы упомянули выше. Вернемся, однако, к кодированию спрайта.

Установите стрелку на функцию DEFINE WINDOW (задание окна произвольного размера) и нажмите М. Стрелку заменит маленький квадратик.

Переместите его в левый верхний угол спрайта и нажмите М, после чего двигайте квадратик вниз и вправо - вы увидите, как за ним потянется прямоугольник из пунктирных линий. Спрайт должен полностью поместиться в этот прямоугольник, причем нужно постараться, чтобы границы спрайта и прямоугольника полностью совпали. Снова нажмите М - окно задано. Следующий шаг - установите курсор на пункт TEXT главного меню (работа с текстами). Здесь тоже обширное меню, но нас будет интересовать только последняя его строка - FONT EDITOR (редактор набора символов). FONT EDITOR позволяет редактировать и создавать новые символьные наборы, которые можно использовать затем в своих программах, о чем мы упоминали в разделе «Русификация программ». После перехода в редактор появляется новый экран, в нижней части которого размещаются все 96 возможных символов. Символ, отмеченный указателем, и два соседних с ним отображаются в центре экрана, увеличенные в восемь раз (так же, как и в режиме MAGNIFYx8). Их можно изменить. Для этого поставьте курсор на тот пиксель, который вы хотите включить или выключить и нажмите М. Нужные вам буква или знак из набора тоже выбираются с помощью стрелки и клавиши М.

Итак, выберем стрелкой букву А, начиная с которой будут кодироваться части изображения на экране, и перейдем к функции MISC. в меню FONT EDITOR. Оно содержит всего две строки, из которых нам потребуется CAPTURE FONT (копирование символов с экрана). Нажимаем клавишу М - спрайт закодировался. Теперь всем буквам, начиная с А, соответствуют графические символы, представляющие части вашего спрайта. Если вам что-то не понравилось в спрайте и вы решили его доработать, прежний набор символов легко восстановить, выбрав в режиме MISC. функцию COPY ROM (загрузка стандартного набора символов из ПЗУ). Поскольку все 96 символов набора можно использовать как графические, то можно получить довольно большие спрайты с размерами 6 х 16, 8.x 12 и т. д. Примеры спрайтов приводятся на рис. 3.6.

Для записи кодов, содержащих новый набор символов, необходимо, находясь в редакторе символов FONT EDITOR, выбрать пункт FILE (запись, чтение и проверка файлов), а в нем - функцию SAVE FILE... и нажать М. После этого на экране появится запрос:

Filename? (имя файла?)

Введите какое-нибудь имя, например, SYMBOL и нажмите клавишу Enter. Сразу же появится сообщение:

Start tape, then press any key после чего необходимо включить магнитофон и нажать любую клавишу. Начнется запись блока данных нового набора символов длиной 768 байт. После ее окончания можно проверить запись, выбрав в том же меню опцию VERIFY FILE.

Использование полученного спрайт-файла

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

10 CLEAR 64255

20 LOAD "SYMBOL"CODE 64256

30 LOAD ""

10 - удаляются все переменные и массивы, очищается экран, а также изменяется адрес, определяющий верхнюю границу области бейсик-программы. Тем самым выделяется место в памяти для загружаемых кодов;

20 - чтение кодов новых символов, содержащихся в файле SYMBOL, и загрузка их по адресу 64256 в память компьютера;

40 - загрузка игровой бейсик-программы, в которой будет использован созданный вами спрайт (спрайты).

А вот как можно использовать новый набор символов в самой бейсик-программе. Выведем на экран, например, спрайт 1 («катер»), изображенный на рис. 3.6.

100 РОКЕ 23607,250 110 PRINT " !""#$%&'" 120 PRINT "()*+,-./" 130 PRINT "01234567" 140 POKE 23607,60

100 - текущим устанавливается новый набор символов SYMBOL, который вы загрузили с ленты;

110...130 - вывод на экран закодированного изображения спрайта размером 8x3 знакоместа. Конечно, в вашей программе спрайты могут быть и других размеров, тогда изменятся и строки программы. Здесь важно то, что, в отличие от предыдущих примеров, буквы вводятся уже не в режиме курсора [G], а в обычном режиме. Хочется также обратить ваше внимание на способ печати оператором PRINT символа кавычек: их нужно вводить в тексте два раза подряд. А одиночные кавычки, как вы знаете, служат для ограничения печатного текста;

140 - выключение нового набора символов, после чего текущим опять становится стандартный набор символов компьютера.

Создание спрайтов с учетом их конфигурации

При создании спрайтов достаточно сложной формы метод «окон» может оказаться весьма расточительным. Ведь окно в этом случае будет охватывать не только «полезное» пространство, но и некоторые пустые знакоместа, где изображение отсутствует. Поэтому иногда может оказаться полезным другой способ создания и кодировки спрайтов. Собственно, таким способом мы уже пользовались, когда делали спрайты самолетов (рис. 3.2 и 3.4), теперь же рассмотрим его более подробно и с применением редактора Art Studio.

После того, как спрайт будет нарисован на бумаге В клетку и разбит на знакоместа, выделим только те фрагменты, в которых есть включенные пиксели, и отбросим все пустые (рис. 3.7, а). Затем выделенным знакоместам поставим в соответствие различные символы (рис. 3.7, б). Закончив подготовительную работу, загрузим Art Studio и войдем в режим FONT EDITOR

Теперь предстоит довольно утомительная работа - перенос одного за другим кусочков «мозаики» на место выбранных символов. Для этого установите стрелку на букву или знак в нижней части экрана, с которого начнется кодирование, и после нажатия М этот символ и два соседних появятся в центре в восьмикратном увеличении, причем каждая клеточка будет соответствовать одному пикселю. Для очистки старого символа можете воспользоваться функцией CLEAR пункта

CHARACTER, а затем на чистом месте начинайте ставить точки в соответствии с вашим эскизом. Рисуйте так же, как и в режиме «увеличительного стекла» -наводите стрелку на пиксели, которые вы хотите включить или выключить, и нажимайте М. Покончив с одним символом, переходите к следующему. Таким способом можно закодировать один большой или несколько маленьких спрайтов; лишь бы общее число символов не превышало 96.

Итак, если сравнить этот метод с методом «окон», который мы рассмотрели ранее, то можно обнаружить, что способ создания спрайтов с учетом их конфигурации значительно экономнее с точки зрения использования памяти. С другой стороны, метод «окон» заметно проще - не нужно возиться с бумагой, линейкой, запоминать символы и т. д. Ну, а какой из этих двух способов выбрать, зависит от конкретной ситуации и вашего вкуса.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Новости - Видео диск для Спектрума - The Gate. Walker, GfxCon, Worms.
Сеть - Сетевые новости. Список BBS: ZX-Net 095, Независимые BBS.
Про хливких шорьков - смешной стишок от Алисы в стране чудес.
Приветы - С вашими пожеланиями вас выслушаю я по телефону в г.Мозыре (02351) 35594.
Doors kick start - новая ОС для Спектрума - DoorsAQUA 7.1, быть или не быть? Breeze разьясняет.

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