Scenergy
#01
31 мая 1999 |
|
Warez Pack - Описания приложения журнала: SpriteLand v1.27
Spriteland v1.27 0. Несколько общих фраз... Периодичность, с которой выходят новые версии Spriteland'а может поразить кого угодно... :) За почти 4 года прошедшие с момента когда закончились почти еженедельные выпуски новых версий (все заглохло на версии 1.19 в ноябре 1995-го) вышло только 2 update'а. Причем тоже с завидной периодичностью - раз в 2 года :) И что самое удивительное - очень существенно доработанная версия 1.25 не ушла за пределы моего компьютера никуда! Т.е. в течении 2-х лет я один пользовался новой версией, а народ страдал, используя версии 1.11 и 1.19. Настало время исправить эту досадную ошибку и выпустить новый Spriteland в свет, что я и делаю на страницах 1-го номера нашего журнала. Сам Spriteland Вы найдете в приложении к журналу, а в данной статье - его описание. Для тех, кто уже пользовался предыдущими версиями этой программы я советую, все же просмотреть описание - в версии 1.25 было добавлено очень много новых возможностей. Как правило, нововведения выделены отдельно и начинаются со слов "Начиная с версии 1.25". Остальным же стоит прочитать описание внимательно - в Spriteland заложено достаточно много возможностей и некоторые из них, без сомнения, уникальны! Другими словами - эта программа стоит того чтобы ее использовать при разработке Ваших программ! 1. Технические характеристики Данная программа предназначена для работы со спрайтами и обеспечивает если не все, то, по крайней мере, очень многие из тех функций, которые обычно требуются для того чтобы подготовить спрайт-файл для использования в своей программе. Программа требует для работы не менее 128 килобайт памяти и TR-DOS версии не ниже 5.03. При этом программа предоставляет следующие возможности: Количество считываемых спрайтов: 250 Объем считываемых спрайтов: 64кб Максимальный размер спрайта: 32x24 знако- места, т.е. целый экран. Форматы считывания спрайтов: _ по строкам - по столбцам - по знакоместам Каждый формат может быть считан как с атрибутами, так и без них. Сделаны 3 режима считывания спрайтов: - ручной - автоматический - считывание анимаций Спрайты можно просматривать в 2 режимах: - интерактивный ручной просмотр. - через плеер анимаций. Поддержка операций: - Копирование - Перенос - Удаление - Удаление атрибутов - Изменение формата считывания спрайта - Сдвиг Все операции могут производиться как для одиночного спрайта (в режиме просмотра), так и для групп спрайтов. Возможность слияния спрайтов по принципу "спрайт+маска". Возможность считывания с диска и хранения в памяти (в ущерб объему считываемых спрайтов) до 5 экранов. Возможность просмотра всей информации о считанных спрайтах, а также сохранение этой информации на диске в 3 форматах: - кодовый файл - текст - файл в формате TASM v3.0 2. Запуск программы В данной программе для хранения считанных спрайтов и загруженных с диска экранов используется Ram Disk, организованный в страничной памяти компьютера (этим как раз и объясняется тот факт, что программа не может работать на компьютерах с памятью менее чем 128 килобайт). Поэтому сразу после загрузки программа тестирует количество установленной в компьютере памяти, и, если обнаруживается, что программе недоступна память выше 48 килобайт (у Вас стоит Spectrum 48 или программа запущена в режиме Spectrum 48), выдается окно с сообщением о невозможности дальнейшей работы программы, и Вам ничего не остается, как нажать RESET и либо купить себе Spectrum 128, либо запустить программу в 128-ом режиме. Если же программа нашла необходимые ей для работы 128 килобайт, то экран очистится, и Вы окажетесь непосредственно в главном меню программы. 3. Главное меню Главное меню программы показано на рисунке Из него, выбирая различные пункты, Вы сможете попасть во все части программы и сделать все, что Вам нужно. Вкратце опишу назначение каждого из пунктов меню (подробное описание каждого из них Вы найдете ниже). DISK MENU - все операции с диском. READ SPRITES - считывание спрайтов. VIEW SPRITES - просмотр считанных спрайтов GROUPS - работа с группами спрайтов. SPRITE+MASK - слияние спрайтов по принципу "спрайт+маска". OPTIONS - вызов меню настроек. PICTURES - работа с картинками. SYSTEM INFO - выдача системной информации о считанных спрайтах. ABOUT - выдача информации о программе. QUIT - выход из программы. 4. Управление Все управление программой осуществляется путем выбора пунктов в системе меню. Перемещение курсора по пунктам во всех меню программы осуществляется при помощи клавиш - стрелок курсора. Выбор пункта меню, а так же редактирование параметров осуществляется клавишей ENTER. Установка различных флагов условий осуществляется клавишей SPACE. Переход к предыдущему меню во всех случаях осуществляется нажатием клавиш BREAK или EDIT. Дополнительные клавиши управления имеются в режимах READ SPRITES и VIEW SPRITES. Список этих клавиш будет приведен в разделах описаний соответствующих режимов. В режиме редактирования параметров имеются следующие дополнительные клавиши: TR.VIDEO - Установка курсора в начало строки редактирования. INV.VIDEO - установка курсора в конец строки редактирования. GRAPH - Переключение режимов INS/OVR. UP ARROW - Очистка буфера редактирования. EDIT - Отказ от редактирования. При этом восстанавливается прежнее значение. Ввод чисел во всех режимах возможен в десятичной, шестнадцатеричной и двоичной системах счисления. Теперь перейдем к более детальному описанию каждого из перечисленных выше пунктов меню. 5. Меню дисковых операций (DISK MENU) CATALOGUE - Вывод на экран каталога диска. Вид каталога можно настроить, выбрав один из режимов: + SCREENS - только картинки + ALL FILES - все файлы. Вместе с каталогом в отдельном окне выдается информация о диске. LOAD PICTURE - Загрузка с диска картинки. Необходимо указать имя картинки, а так же слот (один из пяти) в который она будет загружена. Вообще-то можно загрузить и любой другой файл - программа просто возьмет из него первые 27 секторов (даже если длина файла меньше). SAVE SPRITES - Запись спрайтов на диск. При сохранении спрайтов или информации о них (см. ниже) у Вас всегда будет 2 способа задания имени: - выбор из каталога (SELECT FILE) - ввод вручную (FILENAME) Задав имя и нажав SAVE, Вы запишите файл на диск. Если файл с таким именем уже есть - будет выдан дополнительный запрос о перезаписи файла. Файл не будет записан только в 2-х случаях: - если на диске уже есть 128 файлов. - если во время записи был нажат BREAK. SAVE INFO... - Сохранение информации о спрайтах (номер спрайта, его размеры, метод считывания, смещение в спрайт-файле и т.п.). Spriteland позволяет сохранить информацию в трех режимах: - в виде кодового файла. - в виде текстового файла. - в виде файла в формате ассемблера TASM v3.0. Необходимый режим выбирается здесь же. Подробнее о каждом из этих режимов - ниже. 5.1 Сохранение информации о спрайтах в виде кодового файла (SAVE INFO AS CODE FILE) В этом режиме сохраняются только смещения каждого спрайта относительно начала спрайт-файла. Будет выгружен кодовый файл с последовательно записанными смещениями. При необходимости можно также задать начальное значение смещения (ADDRESS) - это позволит сразу получить готовые адреса, если известен адрес загрузки спрайт-файла в память. 5.2 Сохранение информации о спрайтах в виде текстового файла (SAVE INFO AS TEXT FILE) В текстовом файле, в отличие от остальных режимов записи информации, сохраняется вся информация о спрайтах: - номер спрайта (No) - смещение начала спрайта в спрайт-файле (Index) - размеры спрайта по X и Y (X, Y) - признак наличия атрибутов (Atr) - способ, которым был считан спрайт (Mod) - признак того, что этот спрайт на самом деле "спрайт+маска" (S+M) Пример выгруженной информации: No |Index| X | Y |Atr|Mod|S+M ----------------------------- #01 #0000 #13 #01 - LIN - #02 #0098 #0E #03 - COL + #03 #0212 #18 #01 + CEL - Знаки '+' или '-' в колонках Atr и S+M показывают наличие у спрайта данного признака или его отсутствие. LIN, COL и CEL в колонке Mod показывают способ, которым считан спрайт: + LIN - по строкам. + COL - по столбцам. + CEL - по знакоместам. Подробнее остановимся на каждом из этих способов: - Считывание по строкам. Этот формат спрайта как правило используется во всех программах. Строки спрайта располагаются в памяти последовательно, сверху вниз, что очень удобно для для работы со спрайтом. Если спрайт содержит аттрибуты - они будут располагаться непосредственно за спрайтом и в таком же виде - каждая строчка последовательно одна за другой. - Считывание по столбцам. Этот формат удобен в том случае когда необходимо обрабатывать спрайт двигаясь по столбцам, а не по строкам. Например это бывает необходимо для реализации "выезжания" спрайта из-за экрана. К примеру спрайты для тех меню, которые выезжают из-за экрана в этой оболочке, считаны именно по столбцам. Байты спрайта образуют набор вертикальных столбцов шириной в 1 знакоместо. Эти столбцы располагаются в памяти последовательно. Формат хранения аттрибутов аналогичен - тоже по столбцам. - Считывание по знакоместам. Достаточно специфичный формат, за все время он мне потребовался только 1 или 2 раза. Спрайт в данном формате представляет из себя набор знакомест. Т.е. сначала идут 8 байт образующие знакоместо в левом верхнем углу, следующее знакоместо - то что стоит справа от начального и т.д. Т.е. спрайт считывается как-бы линейно, но каждая строка содержит не байты, а знакоместа. Аттрибуты располагаются так же как и при считывании по линиям. Есть один маленький фокус с применением этого формата. Если необходимо считать нарисованный на экране фонт размером 1x1 занкоместо, то можно просто считать его как один большой спрайт считанный по знакоместам! При этом в памяти будет как раз нормальный фонт :) Кроме всего прочего Вы, как и в остальных режимах, можете задать стартовый адрес Вашего спрайт-файла в памяти - тогда индексы будут пересчитаны начиная с этого адреса. Начиная с версии 1.25, появились еще 2 опции - выгрузка чисел в шестнадцатеричной системе счисления (HEX DIGITS) и выбор маркера конца строки (EOL MARKER): #0D, #0A или #0D+#0A. 5.3 Сохранение информации о спрайтах в виде ассемблерного исходника (SAVE INFO AS TASM FILE) Этот режим сохранения информации наиболее полезен для разработчиков программ т.к. позволяет без особых усилий получить таблицу указателей на считанные спрайты прямо в виде ассемблерного исходника. Правда, выгрузка возможна только в одном формате - TASM v3.0. Это отчасти объясняется тем, что сам я пишу в TASM'е, а отчасти тем, что все равно поддержать все ассемблеры - мало реально, да и не особо нужно учитывая существование множества конверторов. В этом режиме происходит выгрузка только смещений спрайтов, но в 90% случаев этого вполне достаточно. Смещения выгружаются в виде: DEFW Index1,Index2,Index3,Index4 Начальное значение смещения естественно можно задать. Начиная с версии 1.25, появилась возможность задавать метку, определяющую в Вашей программе данный спрайт-файл (USE LABEL). В этом случае выгружаемая таблица будет выглядеть несколько иначе: DEFW LABEL+Index1 DEFW LABEL+Index2 DEFW LABEL+Index3 DEFW LABEL+Index4 Кроме того, можно выбрать систему счисления выгружаемых чисел - десятичная или шестнадцатеричная (HEX DIGITS). 6. Считывание спрайтов (READ SPRITES) В принципе это меню программы является основным, без него, собственно, не было бы ничего другого. :) Возможна работа программы в 3 режимах: + MANUAL READ - режим ручного считывания. Этот режим стандартен для всех программ предназначенных для чтения спрайтов. + AUTOMATIC READ - режим автоматического считывания спрайтов. + READ ANIMATION - режим автоматического считывания анимаций. Последние 2 режима, по всей видимости, являются уникальными - их я не видел ни в одной другой программе. Подробное описание работы в каждом из режимов читайте ниже. После выбора режима работы Вы, как ни странно, попадете в меню OPTIONS. Это сделано специально, чтобы Вы заранее смогли выбрать параметры спрайтов, которые Вы будете считывать. Установив необходимые параметры (подробнее о них - ниже), если Вы выбрали режим считывания анимаций - то попадете в меню настроек этого режима. Если выбран какой-то другой режим - Вам будет предложено выбрать картинку, с которой Вы будете считывать спрайты. Выбрав и ее, Вы наконец-то попадете непосредственно в выбранный режим считывания. Собственно говоря, начиная с версии 1.25, все эти промежуточные меню стали в принципе ненужными т.к. все необходимые меню вызываются непосредственно при считывании спрайтов. Но я все же оставил все как есть - мало ли что :) 6.1 Режим ручного считывания спрайтов (MANUAL READ) При входе в этот режим (как собственно и во все другие) вы всегда будете наблюдать на экране 2 вещи - выбранную Вами для работы картинку и рамку-курсор. Ваша задача собственно состоит в том, чтобы, перемещая эту рамку по экрану и меняя ее размеры установить ее таким образом, чтобы она выделяла ту область экрана, которую Вы хотите получить в виде спрайта. Вам останется только считать спрайт нажатием FIRE (о том, что спрайт считан Вы будете проинформированы миганием бордюра). Также следует поступить и со всеми остальными спрайтами подлежащими считыванию. После этого из этого режима можно выходить со спокойной совестью. :) Клавиши управления: SINCLAIR JOYSTICK - перемещение по экрану рамки-курсора. Приверженцы другого способа управления могут, конечно, долго возмущаться по этому поводу, но здесь ничего не поделаешь - я изначально писал эту программу для личного использования и сделал так, как мне было удобно. :) ARROWS - изменение размера рамки-курсора. Используя эти клавиши, Вы можете отметить на экране любой необходимый Вам спрайт. Выбрав его и нажав клавишу '0' Вы поместите спрайт в память - 'считаете' его. При этом (если Вы считываете спрайты без атрибутов) на экране данный спрайт подкрасится цветным прямоугольником - знаком того, что этот спрайт уже считан. Это не позволит Вам запутаться, какие спрайты Вы уже считали, а какие нет. Дополнительной индикацией того, что Вы считали спрайт, Вам послужит мигание бордюра. '5' - UNDO. Нажатие на эту клавишу производит стирание из памяти последнего считанного спрайта. При этом маркировка считывания этого спрайта стирается с экрана. ENTER - Действие этой клавиши немного отличается в зависимости от того, как Вы считываете спрайты - с атрибутами или без. Если Вы считываете спрайты с атрибутами, то, нажав на данную клавишу, Вы сможете посмотреть маркировку спрайтов, иначе говоря, узнать, какие спрайты Вы уже считали, а какие - нет. Нажатие на любую клавишу вернет Вас в режим считывания спрайтов. Если же Вы считываете спрайты без атрибутов, то, нажимая ENTER, Вы можете выбрать, что Вам желательно - видеть отметку спрайтов на экране или нет. Однако в любом случае отметка спрайтов сохраняется и, поработав с убранной отметкой и возжелав все же посмотреть - что же Вы там начитали, смело жмите ENTER и отметка у Вас перед глазами. SPACE - Выход из режима считывания спрайтов. Во избежание случайных выходов (а при выходе вы потеряете отметку спрайтов и право на их UNDO) появится окно с просьбой подтвердить Ваше желание выйти отсюда. Начиная с версии 1.25, во всех режимах считывания спрайтов появились следующие горячие клавиши: 'I' - вывод на экран окна с информацией о выделенном в данный момент спрайте: + X POS и Y POS - позиция спрайта на экране (в знакоместах). + X SIZE и Y SIZE - размеры спрайта (в знакоместах). + SCREEN - экранный адрес. + ATTR - адрес в атрибутах. 'O' - вызов меню OPTIONS. Бывает полезно, для того чтобы поменять параметры считываемых спрайтов, не выходя из режима считывания (и не теряя буфер UNDO). 'P' - вызов меню PICTURES. Необходимо чтобы сменить рабочую картинку, не выходя из режима считывания. Естественно эта клавиша не работает в режиме READ ANIMATION. 6.2 Режим автоматического считывания спрайтов (AUTOMATIC READ) Режим ручного считывания спрайтов хорош во всех случаях, но иногда возникает необходимость считать группу одинаковых по размеру спрайтов, последовательно расположенных на экране (например, при считывании фонта или фаз движения героя Вашей будущей игры). В этом случае более удобно будет использовать режим автоматического считывания спрайтов. Начиная с версии 1.19, этот режим считывания спрайтов работает следующим образом: После выбора всех опций и рабочей картинки, вы перейдете в режим работы внешне не отличающийся от режима ручного считывания спрайтов - те же картинка и рамка-курсор. Однако в данном режиме этой рамкой Вам необходимо лишь выбрать на экране местоположение и размеры первого из необходимой Вам группы спрайтов (управление то же, что и в режиме ручного считывания). Выберите нужный спрайт и нажмите '0'. Вместо того чтобы считать спрайт, Spriteland выведет на экран меню параметров автоматического считывания. Установив необходимые параметры, выберите START, и все остальные спрайты считаются автоматически. Краткое описание параметров: X START - координата X первого (в группе) спрайта на экране (в знакоместах). Y START - координата Y первого (в группе) спрайта на экране (в знакоместах). X SIZE - ширина считываемого спрайта (в знакоместах). Y SIZE - высота считываемого спрайта (в знакоместах). IN LINE - количество спрайтов в строке. ALL - общее количество спрайтов. START - начать считывание. Замечу, что параметры: X START,Y START,X SIZE,Y SIZE уже установлены в соответствии с местоположением на экране и размерами рамки-курсора, которой Вы отмечали спрайт, а IN LINE содержит значение максимального количество спрайтов такого размера в строке, так что Вам нет необходимости их устанавливать. Далее события будут развиваться следующим образом: Первый спрайт будет считан по координатам X START и Y START (размером X SIZE на Y SIZE знакомест). Следующий спрайт должен находиться впритык справа от первого, и т.д., всего IN LINE спрайтов. Затем считывание будет производиться со следующей строки, и так пока не будет считано ALL спрайтов. Во время считывания картинка находится на экране, и считанные спрайты маркируются (если Вы, конечно, считываете их без атрибутов), поэтому если Вам до сих пор неясен механизм работы этого режима работы, запустите считывание спрайтов без атрибутов и понаблюдайте за маркировкой - Вам все станет ясно. 6.3 Режим считывания анимаций (READ ANIMATION) Данный режим предназначен для считывания анимаций. Иногда возникает ситуация, когда необходимо считать несколько кадров анимации, а каждый кадр расположен на отдельной картинке (в одном и том же месте и одного размера). Режим автоматического считывания анимаций как раз предназначен для избавления Вас от кучи работы по считыванию всего этого. В этом режиме считывание происходит по следующему принципу: 1) Сначала появляется окно задания параметров считывания: START FRAME - номер начального кадра. END FRAME - номер конечного кадра. FILENAME - маска имени файла. USE FIRST 0 - использование ведущего нуля. 1,2,3 DIGITS - количество цифр. Суть всех этих параметров в том чтобы задать способ формирования имени каждого файла содержащего кадр анимации. Имя файла формируется по следующему принципу: [маска имени файла]+[ведущие нули]+[цифры] При этом количество суммарное ведущих нулей и цифр задается в опциях. Примеры: FILENAME = ANIM USE FIRST 0 = NO DIGITS = 2 ANIM1,ANIM2,ANIM3... FILENAME = anim_ USE FIRST 0 = YES DIGITS = 3 anim_001,anim_002,anim_003... Установив все необходимые параметры, нажимайте START READ. Если все было установлено правильно - первый кадр загрузится и Spriteland перейдет в режим считывания спрайтов. Так же как и в режиме автоматического считывания, Вам необходимо выбрать местоположение и размеры спрайта и нажать FIRE. После этого каждый кадр анимации будет последовательно грузиться в область экрана и считываться очередной спрайт - все это происходит автоматически. 7. Просмотр спрайтов (VIEW SPRITES) Войдя в этот режим работы, Вы сможете просмотреть считанные Вами спрайты, а так же выполнить с ними кое-какие операции. При входе в режим просмотра в верхней части экрана появляется один из считанных Вами спрайтов, а в нижней располагается окно с информацией об этом спрайте, а так же меню операций со спрайтами. Внешний вид экрана при работе в этом режиме представлен на рисунке. В левой части окна расположена информация о спрайте, находящемся на экране: X SIZE - ширина спрайта в знакоместах. Y SIZE - высота спрайта в знакоместах. NUMBER - порядковый номер спрайта. ATTRIBUTES (YES/NO) - спрайт считан с атрибутами (YES) или без (NO). READ AT - формат считывания спрайта: - по линиям (LINES) - по столбцам (COLUMNS) - по знакоместам (CELLS) STATUS - статус спрайта: - спрайт (SPRITE) - маска (MASK) - "спрайт+маска" (SPR+MASK) SELECT (YES/NO) - спрайт отмечен (YES) или нет (NO). Небольшие пояснения к некоторым пунктам: Статус спрайта - не более чем фикция. Он необходим только для создания "спрайта+маски" и сдвига спрайтов, во всех остальных случаях его можно со спокойной совестью игнорировать. Подробнее о назначении статуса спрайтов см. в описании функции SPRITE+MASK. Отметка спрайта (SELECT) необходима только для операций копирования (COPY) и переноса (MOVE) спрайтов в режиме VIEW SPRITES и указывает, какой спрайт будет копироваться или переноситься. Клавиши управления: ARROW LEFT/RIGHT - переход к следующему / предыдущему спрайту. ARROW UP/DOWN - соответственно переход к первому/последнему спрайту. SPACE - вход в меню операций со спрайтами (см. ниже). ENTER - вкл./выкл. окна с информацией о спрайтах. Нужно, чтобы просматривать большие спрайты (больше 15 знакомест по высоте). '1'..'7' - горячие клавиши для операций со спрайтами. BREAK/EDIT - выход в основное меню. Меню операций со спрайтами: Выбирая пункты данного меню, Вы сможете выполнить некоторые полезные операции со считанными Вами спрайтами. Все действия в данном меню производятся непосредственно со спрайтом, в данный момент находящимся на экране. При необходимости выполнить данное действие для нескольких спрайтов используйте меню GROUPS (см. ниже). В данном меню Вы можете выбрать: SELECT - отметка спрайта. Необходима для двух следующих функций. COPY - копирование спрайта. Отмеченный командой SELECT спрайт будет скопирован сразу после спрайта, в данный момент находящегося на экране. MOVE - перенос спрайта. Действие операции аналогично операции COPY, за исключением того, что спрайт стирается на своем исходном месте. DELETE - удаление спрайта. Стирается спрайт, в данный момент находящийся на экране. ATTR. OFF - удаление атрибутов спрайта. Превращает спрайт, считанный с атрибутами в спрайт без атрибутов. READ AT... - изменение формата считывания спрайта. Появляется меню: В нем Вы сможете установить необходимый формат спрайта, а так же его статус. ROLL SPR. - сдвиг спрайта. Позволяет получить из спрайта 8,4 или 2 спрайта, сдвинутых относительно друг друга на 1,2 или 4 пикселя. Возможности сдвига: - сдвиг по 1,2 или 4 пикселя (получая соответственно 8,4 или 2 спрайта). - сдвиг влево или вправо. - сдвиг спрайта (с заполнением пустых битов 0) или маски (с заполнением пустых битов 1). Ограничения сдвига: - ширина спрайта не более 31 знакоместа (т.к. иначе после сдвига спрайт станет шире экрана). - спрайт должен быть без атрибутов. Так же при использовании сдвига следует помнить, что в результате его будут созданы еще 1,3 или 7 спрайтов, для хранения которых, возможно, уже не хватит памяти. В этом случае будет выдано предупреждение о невозможности сдвига данного спрайта и Вам придется подумать об очистке памяти. 8. Просмотр анимаций (VIEW ANIMATION) Начиная с версии 1.25, в Spriteland'е появился плеер анимаций. Для экономии памяти, которой всегда не хватает, он построен на медленных универсальных процедурах и берет кадры непосредственно с RAM disk'а, что тоже отнюдь не добавляет ему скорости. Но, не смотря ни на что, он все же является достаточно удобным и полезным инструментом. Меню настроек плеера выглядит следующим образом: FRAMES - задание группы кадров, которые будут проигрываться: + ALL - все считанные спрайты. + RANGE - только определенная часть. Если выбран режим RANGE, то необходимо задать набор кадров для проигрывания: + START - номер начального кадра. + END - номер конечного кадра. + QUANTITY - количество кадров. При этом при задании любого из 2-х последних параметров, оставшийся меняется автоматически. DELAY - задержки при проигрывании. + NEXT FRAME - задержка при смене кадра. + REPLAY - задержка перед повтором анимации. Параметр измеряется в "прерываниях", т.е. в 1/50 секунды. Значение 0 соответствует отсутствию задержки. OPTIONS - настройка того, как будет проигрываться анимация: + PING PONG - проигрывание анимации сначала в прямом, а затем в обратном направлении. + CYCLIC - "зацикливание" анимации. Анимация будет проигрываться до нажатия какой-либо клавиши. + INVERSE - проигрывание анимации в обратном направлении, т.е. анимацию можно проигрывать как сначала, так и с конца. + CLEAR - стирание текущего спрайта с экрана перед выводом следующего. Т.к. по сути, данному плееру все равно, какие спрайты выводить на экран, то из этого следует вывод о том, что "кадры анимации" совершенно необязательно должны быть одного размера, и считаны с одинаковыми параметрами. Поэтому, во избежание нежелательного "мусора" из остатков спрайтов, и введен этот флаг. Хотя, если все спрайты одного размера, то его лучше убрать, т.к. процедура стирания спрайта с экрана так же работает достаточно медленно. START PLAY - начать проигрывание анимации. Если флаг CYCLIC выключен, то после проигрывания всей анимации произойдет выход в меню, в противном случае анимация будет проигрываться до тех пор, пока не будет нажата какая-нибудь клавиша. 9. Работа с группами спрайтов (GROUPS) Меню работы с группами спрайтов предоставляет Вам те же операции со спрайтами, что и меню операций в режиме VIEW SPRITES, но здесь эти операции выполняются для всех спрайтов или какой-то их группы. Описывать здесь каждый пункт меню нет смысла, т.к. все они уже были описаны в разделе описания режима VIEW SPRITES, однако необходимо описать способ задания параметров работы с группами спрайтов. Итак, если Вы выполняете операции COPY или MOVE, то после выбора этих пунктов появится меню, в котором Вам будет необходимо задать группу спрайтов для обработки. Делается это путем задания следующих параметров: FIRST - номер первого спрайта для копирования (переноса). QUANTITY - количество копируемых (переносимых) спрайтов. AFTER - номер спрайта, после которого будет располагаться скопированная (перенесенная) группа спрайтов. Установив необходимые параметры, жмите START и выбранные Вами спрайты будут скопированы (перенесены) на новое место. Для всех остальных операций в данном меню последовательность установки параметров будет следующей: Сначала появится меню, где Вы сможете выбрать один из двух пунктов: GROUP или ALL. Если Вы выберете пункт ALL, то данная операция будет произведена над всеми считанными спрайтами, если Вы выберете пункт GROUP, то Вам придется дополнительно задать номера первого и последнего спрайтов нужной Вам группы в появившемся меню. И, установив границы группы, опять таки жмите START, и выбранная Вами операция будет произведена. 10. Создание "спрайт+маски" (SPRITE+MASK) Этот режим работы программы позволит Вам получить такую форму спрайтов как "спрайт+маска", т.е. два спрайта одинакового размера и имеющие статусы соответственно MASK и SPRITE будут слиты в один спрайт следующим образом: байт маски, байт спрайта, байт маски, байт спрайта, байт маски, байт спрайта, ......................... байт маски, байт спрайта. При выборе данного режима не производится никаких дополнительных настроек, а программа сразу "переходит к делу". В качестве описания данного режима я приведу приблизительный алгоритм его работы, чтобы Вам легче было понять, что необходимо этой программе, и какие ограничения накладываются на спрайты, подлежащие слиянию. Итак, после запуска программа начинает сканировать считанные спрайты. Взяв первый встретившийся спрайт и первую встретившуюся маску, программа производит проверку на годность данной пары для создания "спрайт+маски". Проверка на годность производится по следующим параметрам: - И спрайт и маска считаны без атрибутов. Вообще-то это ограничение введено чисто из соображений здравого смысла: я не могу представить себе маску для атрибутов. Но если вдруг это кому-либо понадобится - сообщите мне, и я сниму это ограничение. - Размеры спрайта и маски одинаковы. - Суммарный размер спрайта и маски не должен превышать 6912 байт. Это связано с ограничением размера буфера для создания "спрайта+маски". Если данная пара подходит для создания "спрайта+маски", то их номера запоминаются (в противном случае - не запоминаются), и программа переходит к анализу пары второго спрайта и второй маски и т.д. пока такие пары не кончатся. После этого происходит непосредственно процесс слияния, но это уже не относится к делу. Скажу только, что в появившемся окне Вы увидите счетчик - количество уже созданных "спрайт+масок" и их общее количество. Теперь о том, как же считывать спрайты, чтобы получить желаемый набор "спрайт+масок". Исходя из вышесказанного можно предложить два способа считывания спрайтов: 1) Считывание сначала всего набора спрайтов, а затем всего набора масок. Причем неважно, что считано сначала: спрайты или маски, важно чтобы маска соответствующая первому спрайту была первой среди масок. 2) Считывание попарно соответствующих спрайтов и масок: 1-й спрайт,1-я маска, 2-й спрайт,2-я маска, 3-й спрайт,3-я маска, ..................... n-й спрайт,n-я маска. Однако эти два способа не являются единственными - спрайты и маски могут быть считаны в любом порядке, важно только чтобы i-ый спрайт и i-ая маска в Вашем наборе считанных спрайтов образовывали необходимую Вам пару для создания "спрайт+маски". Начиная с версии 1.25, Вы можете просмотреть результаты работы этой процедуры в режиме VIEW SPRITES. Для этого необходимо нажать 'M' когда "спрайт+маска" находится на экране. 11. Меню опций (OPTIONS) В меню опций Вы можете установить необходимый Вам формат считывания спрайтов, а так же некоторые цвета. Меню опций выглядит следующим образом: ATTRIBUTES - Установка считывания спрайтов с атрибутами или без них . READ AT: - Выбор формата спрайтов: - по линиям (LINES) - по столбцам (COLUMNS) - по знакоместам (CELLS) STATUS: - Выбор статуса спрайтов: - спрайт (SPRITE) - маска (MASK) COLORS: - Установка цветов: - цвет маркировки спрайта при считывании (MARK) - цвет фона при считывании и просмотре спрайтов без атрибутов (PAPER) - цвет бордюра (BORDER) 12. Меню работы с картинками (PICTURES) В данном меню Вы сможете произвести некоторые действия над загруженными в память картинками. VIEW PICTURE - Просмотр картинки. ERASE PICTURE - Удаление картинки из памяти. Эта функция очень полезна для очистки памяти от ставших Вам ненужными картинок. 13. Меню системной информации (SYSTEM INFO) В этом окне Вы сможете просмотреть всю необходимую информацию о считанных спрайтах, а также общие данные о состоянии дел в программе. Отображается следующая информация: - количество считанных спрайтов. - количество загруженных картинок. - количество свободной памяти. - общий объем считанных спрайтов. - информация по считанным спрайтам: - номер - смещение - размеры по X и Y - наличие атрибутов - режим считывания Информация о считанных спрайтах выводится в виде списка, для просмотра информации о всех спрайтах можно побегать по этому списку курсором. 14. Послесловие Итак, теперь Вы знаете о возможностях Spriteland достаточно, чтобы использовать его функции максимально эффективно. Если Вы хотите знать мое мнение - я в принципе доволен этой своей программой. Конечно, она не лишена некоторых недостатков (особенно мне не нравится, как организована работа с группами), но при всем при этом за 4 года своего существования она была использована при написании огромного количества программ как member'ами Digital Reality, так и другими людьми и всегда обеспечивала требуемый от нее набор функций. Конечно, я хотел бы продолжить развитие этой программы. У меня есть много идей по поводу того, что еще можно сделать в этой программе - удобную работу с группами, файлы проектов, встроенный редактор, работа со спрайтами без привязки к знакоместам и многое другое. Но меня останавливают 2 вещи: Во-первых, существующая концепция Spriteland'а использована почти на максимум, и все перечисленные выше навороты могут быть реализованы только в версиях 2.xx написанных "с нуля". Это, как Вы понимаете, огромный объем работы. Вот тут-то и появляется вторая причина. Дело в том, что мне не ясно - нужно ли это кому-нибудь кроме меня? Мне совершенно не улыбается угрохать несколько месяцев на написание никому не нужной программы... Вот такие дела. Поэтому я жду от Вас поддержки, и если она покажется мне достаточной - версии 2.xx выйдут.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября