ZX Spectrum
Game

BIFROST* ENGINE

Einar Saukas (Бразилия),

Авторы: ,

Жанр: Утилиты: Визуализация


Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один

Доступные версии

Оригинальное издание
Играть!
Оригинальное издание
Играть!

Доступные версии

Оригинальное издание
Играть!
Оригинальное издание
Играть!
  •  Описание (авт.пер.)
  •  Информация
Описание BIFROST* ENGINE (автоматический перевод)

Бифрост * ДВИГАТЕЛЬ – версии 1.2

Бифрост * ДВИГАТЕЛЬ даритель Радуга Графика поддержка рендеринга 9×9 анимированные многоцветная плитка 16×16 пикселей каждый, без мерцания.

Первоначальная версия этого инструмента были oprindeligt на основе инновационного ZXodus Двигатель, мужчины да Бифрост * Код был переписан на последней версии, это не так больше. ZXodus сделал Skape программу многоцветный на 48К Spectrum много Легче, implementere плитка карту Hvis содержание автоматически генерируется на Экран Mellan Линии 1:02 18 колонки 1:02 18. Бифрост * двигатель работает в Подобный способ, selvom Предоставление дополнительных возможностей сомов анимированные плитки.

Технически Бифрост * ДВИГАТЕЛЬ лед Предназначен сом достаточно гибкой два поддержки

Программа Skape несколько похожа сезам революционной игровой Buzzsaw Джейсоном Railton (joefish). Кан объединить статические и анимированные разноцветные плитки, и позволяет разработчикам два директ Манипулирование многоцветный områder на экране, чтобы два создать дополнительные движения и спецэффектов.

Текущая версия “двойной релиз” Предоставление два варианта:

* Вариант “L” может директ привлечь плитки, что “с низким разрешением” символьные строки на экране, используя

“PRINT TO” координаты (с обычных плиток начинают строк 1,3,5..17). Таким образом этот вариант все меньше и быстро.

* Вариант “Н” может директ привлечь плитки на “Hi-Res” пиксельные линии на экране, используя “СЮЖЕТ-как” координаты (с обычных плиток, начиная с линии 16,32,48 … 144 так Бифрост * пиксельные координаты отсчитываются начиная 8 пикселей выше Экран). Таким образом, этот вариант является более универсальным.

Большая часть информации в этом документе gælder беспокойство варианты, КРОМЕ другом месте явно указано иное.

ЛИЦЕНЗИИ

Du кан фритты использовать Бифрост * двигатель udvikle вашей собственной программе (даже для коммерческие проекты); тех пор, пока вы klart упоминание Det эр udviklet Использование Бифрост * ДВИГАТЕЛЬ. Это не имеет значения, как вы выбираете два сделать.

Например, краткий способ два respekten лицензионное skulle просто herunder что-то вроде этого:

  Работает на Бифрост *

Или, если вы хотите говорить об этом в экране игры с ограниченном пространстве, вам

кан просто написать где-то:

  Бифрост *

Du кан OGSA фритты плитка изображения использовать R-лента в этой версии демо, При условии, вы упоминаете Бифрост * двигатель. Кроме того, если вы используете только Диссе плитка изображения, но больше ничего от Бифрост * двигатель, вы кан vælge только кредитные R-Tape непосредственно.

ОСОБЕННОСТИ

* Гибкость: статические и анимированные разноцветные плитки Кан злоупотреблять Одновременно,

и вы OGSA имея второй вариант Манипулирование экраны områder непосредственно.

* Нет Мерцание: Бифрост * ДВИГАТЕЛЬ не выпускает 18 колонны Радуга Graphics (Многоцветный) плитки без какой-либо мерцание, даже не Nar выполнения BASIC Программа или работает ваш код в Ассамблее утверждал память.

* Высокая производительность: Selv оказание Радуга Графика требует много обработки, Бифрост * ДВИГАТЕЛЬ GOR ваша программа “всего” в 3,5 раза медленнее, чем нормальная. Это по-прежнему 75% быстрее, чем в ZXodus Engine (то GOR программы 6 раз медленнее, чем обычно).

* Низкая задержка: Вся карта плитка обновляется на экран около 4 раз в секунду

(Точнее 6 плиток на кадр, dermed 6×50 / 81 = 3,7 раза в секунду). Это betyder Att Любые изменения сделать в плитке карте занимает только 135ms в среднем на deltager на экране. Это в два раза надежнее, чем в ZXodus Engine.

  • Настройка: Du кан nemt перенастроить его vælge размер анимация (2 или 4 кадры) и скорость (2 или 4 кадров в секунду) для Varje анимированные плитки. Du кан OGSA выбрать, сколько плитки индексы зарезервированы для статических и анимированных плиток, и как DISSE индексы “перекрытия” (см ниже).
  • Совместимость: Бифрост * ДВИГАТЕЛЬ совместим с ZXodus Engine Приняв же плитка изображения формата и отображение плитка механизм. Таким образом, это легко два переключателя двигатели, если вы узнаете позже thatyour программа нуждается в særlig Функция (такие как те, что перечислены выше).
  • Мобильность: Текущая версия Бифрост * двигатель Stotter все стандартное Модель Spectrum (48K, 128K, +2, + 2A, и +3).
ИНСТРУКЦИЯ

Во-первых, вы должны защитить область памяти с использованием четких, просто загрузите ваши плитки изображения

и Бифрост * ДВИГАТЕЛЬ из ленты. Например:

  CLEAR, 48499: Load “ПЛИТКА” КОД: LOAD “Бифрост *” КОД

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

Оказание Использование:

  RANDOMIZE НЕ USR 64995

И отключить его с помощью:

  RANDOMIZE НЕ USR 65012

В выберите предложить udnytte НЕ ключевое слово, как указано выше undgå сброса последовательности RND (если Вы не знаете, что я имею в виду, просто поверьте мне на это). Или кан Просто позвоните DISSE адреса директ в Ассамблее.

Бифрост * ДВИГАТЕЛЬ использует плитки карту 9×9 = 81 позиций, начиная с адреса 65,281th Всякий раз, когда вы совать индекс плитки в карте плитки для svarende многоцветная плитка изображение ска deltager на экране. Например:

  POKE 65281,0: POKE 65281 + 80,5

Эти заявления выше willmake плитки 0 deltager в верхнем левом углу Площадь мульти цветопередача (первая позиция), и плитка 5 в нижнем правом углу (Последнее положение).

По умолчанию, плитка Постоянно анимированные в группах 4. Первый анимации

Группа Bestar плитки 0:02 3 второй анимации группу плиток 4:02 7, и так на. Каждый 0,27 секунды, Varje плитка карту позиция automatisk обновления пока Плитка следующее число в последовательности. В приведенном выше примере, позиционировать 65281 ска изменить два 1,2,3,0 и повторить эту последовательность, до бесконечности. В Sametime, Положение 65281 + 80 bliver изменилось два 6,7,4,5 и так далее.

Плитка индексы 0:02 обозначают 127 анимированные плитки. Если вы хотите вынести certainement Плитка изображение без анимации, просто добавьте 128 два это число. В предыдущий пример, Кан сделать плитки 0 и 5 gjenstår навсегда на экране således:

  POKE 65281.128 + 0: POKE 65281 + 80128 + 5

Там в ин исключения два это правило: если в плитки расчета координат indeholder специальный индекс 255, нет плитки bliver отображается на экране в это положение, selvom fortsætter сом содержимое экрана оказывается в многоцветной. Это betyder кан Значение POKE 255 в любом положении в плитке карте, просто изменить экран растрового изображения и разноцветные атрибуты директ Впоследствии:

  POKE 65281.255: POKE 65281 + 80255: …

ПЕРСОНАЛИЗАЦИЯ

Некоторые глобальные karakteristika из Бифрост * ДВИГАТЕЛЬ кан настроены город antingen перекомпиляции кода или POKEing Диссе ценит директ в памяти:

* Плитка анимированы 4 кадров в секунду по умолчанию, но этого кан reduceret 2 кадра в секунду (ин Уменьшение скорости анимации не будет påvirker Задержка Mellan внесении изменений сезам плитка карте ог де появляется на экране):

  POKE 59035.254: REM медленные анимации

  POKE 59035.198: REM прочную анимации

* Анимированные группы, имеющие 4 кадра Varje по умолчанию, но это Кан reduceret два 2 кадров в группе:

[Вариант “L”]:

  POKE 58780,0: 58782,128 POKE: POKE 58783,0: REM 2 кадров в анимации   58780,15 POKE: POKE 58782,64: POKE 58783,7: REM 4 кадров в анимации

[Вариант “Н”]:

  POKE 58698,0: 58700,128 POKE: POKE 58701,0: REM 2 кадров в анимации   58698,15 POKE: POKE 58700,64: POKE 58701,7: REM 4 кадров в анимации

* Плитка изображения хранятся начинают обращаться 48500, мужчины-де-кан переселены два

все адреса вы хотите (даже внутри утверждал памяти):

[Вариант “L”]:

  POKE 58802, INT (адр / 256): POKE 58801, адр-256 * PEEK 58802: REM плитка изображений

[Вариант “Н”]:

  POKE 58727, INT (адр / 256): POKE 58726, адр-256 * PEEK 58727: REM плитка изображений

* Плитка на карте Принять-х 255 различных индексов плитка (от 0:02 индекс 254 седан

255 зарезервировано, как описано выше). По умолчанию, Бифрост * ДВИГАТЕЛЬ льда Установлено с “статического минимум” 128, я Индекс плитка 128 или выше указывают вает, Не анимированные плитки. Случаи DISSE, вы должны вычесть “статический перекрытие” 128 от индекс плитка двух получения фактического участка спутникового изображения. Таким образом, индекс плитка 128 ска канавки Плитка изображения 0, 129 ска канавки плитка изображение 1, и так далее. Как konsekvens кан onlyhave 128 различных изображений плитка, с 127 из них в tilgås как беспокойство анимированные и статический. Если ваша программа нуждается в более плитка изображения, и вам не нужно два канала все они в качестве беспокойство анимированные и статические, кан перенастроить параметр Диссе. Например, если вы выбираете “статический минимум” 160 и “статический перекрытие” 55 направлений плитка индексы 0:02 159 ска живой плитки изображения 0:02 159 в 40 анимационных групп, и плитка индексы 160 два 255 ска оказать статические плитка изображения с 160-55 = 105 два 255-55 = 200-й Таким образом, плитка изображения с 105 два 159 bliver доступной сомов оказана как antingen анимированные (индексы 105 два 159) или статические (индексы 160 два 214). Если Диссе Настройки кажется слишком запутанным просто оставить его в покое, в противном случае “статический минимум” и “статический перекрытия” может быть изменена således:

[Вариант “L”]:

  POKE 58768, мин: POKE 58776,1 + перекрытие: REM индексы плитка

[Вариант “Н”]:

  POKE 58686, мин: POKE 58694,1 + перекрытие: REM индексы плитка

Бифрост * ДВИГАТЕЛЬ должна быть отключена Nar реконфигурации его (для изменения исключением в анимации скорости медс Требовать один POKE), в противном случае он будет генерировать некоторые мусор на экране или в плитке карте (selvom было бы ничего не врезаться).

ДЕМОНСТРАЦИЯ

Бифрост * ДВИГАТЕЛЬ лента содержит очень простую демонстрационную программу на Бейсике. В любой

час кан пресс ПЕРЕРЫВ два прерываем эту программу, отключить Бифрост * двигатель выполнение RANDOMIZE НЕ USR 65016, просто взгляните на листинг на бирже, как это работает. Соответствующие линии således:

* ЛИНИЯ 10: Загрузите все от ленты

* ЛИНИЯ 40: Активация Бифрост * ДВИГАТЕЛЬ * ЛИНИЯ 50: Заполните плитка карту с последовательностью статических плитки от 0:02 80 * ЛИНИЯ 80: Заполните плитка карту со случайными статических плитки от 8:02 33 * ЛИНИЯ 130: Reconfigure Бифрост * ДВИГАТЕЛЬ к 2 кадров в анимации * ЛИНИЯ 150: Reconfigure Бифрост * ДВИГАТЕЛЬ обратно 4 кадров в анимации * ЛИНИЯ 170: Отключить отображение плитка на позиции 40 и 41 * ЛИНИЯ 180: Непосредственно изменить экран растровых изображений в позициях 40 и 41 * ЛИНИЯ 190: Непосредственно изменить многоцветная приписывает позиций 40 и 41 * ЛИНИЯ 220: Место случайных анимированные плитки от 0:02 до 7 любом положении * ЛИНИЯ 250: Reconfigure Бифрост * ДВИГАТЕЛЬ два одушевленных плитки на 2 кадра в секунду * ЛИНИЯ 260: Reconfigure Бифрост * ДВИГАТЕЛЬ два одушевленных плитки в 4 кадра в секунду

Технические

Когда implementere свою собственную программу, он Кан показаться запутанным два Манипулирование плитка карту Положение сом Постоянно меняется из-за двух анимации, но это faktisk довольно легко. Если плитка карту позиция содержит анимированные плитку, просто разделите его на 4:02 получить грех анимация группы istället текущего кадра анимации, как Часто следуют:

  Пусть A = PEEK 65281: ЕСЛИ<128 то пусть а = INT (/ 4)

Код Бифрост * ДВИГАТЕЛЬ заканчивается обратиться 65280, а плитка на карте находится в

65281 адресов двух 65,361th да де не вмешиваться в область nemlig UDG регель расположен Впоследствии, нет ограничений о Переосмысление и использование UDG символов, а Бифрост * работающем двигателе.

Каждая плитка занимает 64 байт, хранение 32 байта битовой карты (16 пар из двух верхних

внизу) с последующим 32 байт атрибутов (хранится в том же порядке). После вас выяснить, сколько плитки вы willneed в вашей программе, это Кан быть хорошей идеей два Смена места жительства плитка изображения соответственно.

После POKEing значение 255 для плитки карте положение, дю пос kunna директ изменить svarende растровый информацию на экране, как обычно. Inte пытается атрибуты два экрана изменение директ не будет работать, так как де-эр Постоянно из skrives с многоцветной, dermed вы willneed изменить Для многоцветной атрибуты istället. Для двух выяснить точное памяти адрес двух изменение, Имейте в виду, ATT многоцветной льда, вынесенного из символьных строк 1:02 18 (dermed пикселей Линии 8 + 1 * 8 = 16:02 8 + 18 * 8 + 7 = 159, так как Бифрост * пиксельные координаты отсчитываются начиная 8 пикселей выше экрана) и текстовые столбцы 1:02 18 просто Soge Эттер beregning:

  POKE 59075 + (строка 16) * 41 + дельта, ATTRIB

Значение “дельта” выше, зависит от столбца символ сом изменилось, enligt Эттер стол:

+ + +

| Колонка | дельта | + + + | 1 | 4 | | 2 | 5 |

| 3 | 7 |
| 4 | 8 |
| 5 | 10 |
| 6 | 11 |
| 7 | 14 |
| 8 | 15 |
| 9 | 17 |
| 10 | 18 |
| 11 | 32 |
| 12 | 33 |
| 13 | 28 |
| 14 | 29 |
| 15 | 24 |
| 16 | 25 |
| 17 | 20 |
| 18 | 21 |

+ + +

Например, если вы хотите изменить все 8 многоцветный атрибуты svarende два PRINT AT 10,9 Кан выполнить følgende код:

  POKE 65281 + 40255: ПУСТЬ дельта = 17: ПУСТЬ строки = 10

  Для F = 8 + подряд * 8:02 8 + строка * 8 + 7: POKE 59075+ (F-16) * 41 + дельта, Attrib: СЛЕДУЮЩИЙ ф

Когда вы положить прямо изменения площади многоцветный, если вы хотите, чтобы все результаты двух

deltager что когда-то, кан HALT использование инструкции как раз перед началом изменений. После этого, вы willhave 20K T-статер два внесите изменения indtil йе рядом прервать.

Это OGSA удобно использовать HALT только перед использованием любых рутинную ATT мгновение

Запретить прерывания (например подпрограммы “putTile” от Boriel в ZX BASIC Стандартная библиотека), dermed мы надеемся, bliver достаточно времени, чтобы полностью выполнить рутина, не пропуская ни прерывание. В противном случае многоцветной каналы не будут призвал certainement кадров и dermed дю пос увидеть некоторые мусора hurtigt появляться на Экран.

По умолчанию, Бифрост * ДВИГАТЕЛЬ выполняет ROM рутинную $ 38 (так же, как RST 38) на

каждый кадр, сразу после нескольких цветопередача хар закончил. Это если вам нужно OGSA другой прерываний (например, два управления AY звука), Кан изменить Бифрост * ДВИГАТЕЛЬ выполнить свой рутинный istället, просто вы можете позвонить рутина $ 38 Впоследствии сами. В этом случае, ваш режим bliver называется примерно в 50 раз в секунду, чтобы взыскать интервалы 69 888 Т-состояний каждый. Обратите внимание, этот диапазон еще более точным, чем позвонив прерываний директ Fran вектор прерывания, так как Бифрост * ДВИГАТЕЛЬ умеет синхронизировать отлично мед растровых лучевые ТВ два eliminera все прерывания вариации и задержек.

адрес ваших прерываний кан Настроен således:

  POKE 64994, INT (адр / 256): POKE 64993, адр-256 * PEEK 64994: эл REM прерывания

ОКАЗАНИЕ

Даже если вы не будете использовать плитку в вашей программе, кан-прежнему utnytte Бифрост * двигатель в evne два канала многоцветная атрибуты без мерцания, и кодировать собственную программу два делать все остальное, Манипулирование экран растровых изображений и разноцветные атрибуты напрямую.

Самый простой способ э Постоянно заполнить область плитка карту со специальным индексом 255-й

В этом случае, Бифрост * ДВИГАТЕЛЬ не будет делать какие-либо плитки, и это будет просто занят ждать 14K T-гласит, что каждый прервать, indtil йе ТВ растра луча наконец Достигает область экрана (где начинается разноцветными траншеи). Таким образом вам не нужно будет два Любые нагрузки плитка изображения в памяти, так что ваша программа кан использование область Att что-то еще.

Более сложная альтернатива udvikle код Eget Ассамблея заменить отображение плитка партия Бифрост * двигатель, так кан использование этого напряженный период ожидания два сделать что-то более продуктивное. Технически, это betyder кан заменить код Участок от адреса 59031 два 59046 (между метками “tile_mapping_begin” и “Tile_mapping_end” в исходном коде) с тем, что вы хотите, пока ваш Код всегда Принять точно 14008 Т-состояния каждый раз, считая от начального адреса 59031 два følgende адрес 59047th Таким образом, вы будете возвращать управление сезам Бифрост * ДВИГАТЕЛЬ в тот момент он нуждается два поглощении мульти цветопередачу. Уведомление ин Att этой альтернативы на самом деле не рекомендуется, так как это трудно два написать сложный код в другом месте каждый путь выполнение занимает ровно то же самое время, и мульти-цветопередача, вероятно, не будет работать должным образом, если вы не. Таким образом, это лучше в использовании многоцветные плитки Нар-либо mulige, и легко Бифрост * ДВИГАТЕЛЬ беспокоиться обо всех временные проблемы для вас … Но если вы хотите попробовать в любом случае, Эттер пример показывает, как заменить оригинальный отображение плитка с новым кодом Att занимает ровно 14 008 Т-состояния (selvom это ничего не делать полезно):

    орг 59031

    LD BC, 538; 10 T цикл:     До н.э. декабря; 538 * 6 T     LD, б; 538 * 4 T     или с; 538 * 4T     JR NZ, петля; 537 * 12 + 7 T     Право NZ; 5 T     JP 59047; 10 T

Расширенное программирование

Рисование и анимации плитки в Бифрост * ДВИГАТЕЛЬ э typisk автоматизирован, на основе Изменения сезам плитки карте. Тем не менее, иногда запрограммировать кан потребность эффективных certainement операции “вручную”. Например, плитка обновление карты занимает 135ms в среднем на deltager на экране, но если игрок движется многоцветного курсор на экране, его кан работать лучше два ничью и стереть курсора плитку Мгновенно.

Для SA случаях, есть несколько внутренних процедур в Бифрост * ДВИГАТЕЛЬ сом кан

Директ обращались с Ассамблеей, или udnytte Интерфейс Библиотеки Предусмотрено Boriel в ZX BASIC и z88dk. Только не пытайтесь в использовании сам себе от регулярного Sinclair BASIC программа, так как в этом случае это было бы быстро два просто использовать автоматизированная механизм отображения плитка в любом случае …

Inte, используя Диссе усвоить процедуры рекомендуется только для опытных Программы følgende grunner:

* Большинство усвоить процедуры Кан кун злоупотреблять с прерываниями, отключенными. Inte, если Ваша программа не позволяет сам себе снова на следующий кадр, весь экран bliver оказана без многоцветный, dermed дю пос увидеть “глюк”. Лучший способ два решения этой проблемы является в использовании инструкции ‘HALT’ и ‘DI »в begyndelsen ваш режим, просто вы willhave о 20K T-Stater доступны для вас должны выполнить “EI” на время, чтобы поймать следующего кадра. Точнее, Бифрост * ДВИГАТЕЛЬ прерывания сошелся 48265 T-статер после Varje прерывания (в том числе Инструкция в ‘JP’ для решения 64 992), ROM рутинные $ 38 кан взять другую 1K T-государство, а на следующий ска прерывания SKE 69 888 Т-государств. Процедуры Att Требовать отключения прерываний обозначены как “DI?” ниже:

[Вариант “L”]:

+ + + + + + | Текущее | Адрес | Т-состояния | DI? | Описание | + + + + + + | Draw_tile | 58786 | 1482 | да | Мгновенно нарисовать плитку грести D | | | | | | Col E на экране | + + + + + + | Show_tile_pos | 58754 | 1582 | да | Мгновенно показать / на живой плитки карта | | | | | | Положение грести D, полковник E на экране | + + + + + + | Show_next_tile | 58 727 | 1 689 | да | Мгновенно показать / анимировать следующую плитку | | | | | | Положение на карте в чертежной того | + + + + + + | Fill_tile_attr | 58 661 | 798 | нет | Мгновенно заполнить атрибуты плитка | | | | (*) | | Для грести D, полковник E со значением C | + + + + + +

[Вариант “Н”]:

+ + + + + + | Текущее | Адрес | Т-состояния | DI? | Описание | + + + + + + | Draw_tile | 58 704 | нечетные 2110 | да | Мгновенно привлечь плитка грести D | | | | Даже<= 2730 | | кол E на экране | + + + + + + | Show_tile_pos | 58672 | 2210 | да | Мгновенно показать / на живой плитки карта | | | | | | Положение грести D, полковник E на экране | + + + + + + | Show_next_tile | 58642 | 2308 | да | Мгновенно показать / анимировать следующую плитку | | | | | | Положение на карте в чертежной того | + + + + + + | Fill_tile_attr | 57 109 | 895 | да | Мгновенно заполнить атрибуты плитка | | | | | | Для грести D, полковник E со значением C | + + + + + + | Draw_tile_pos | 57 082 |<= 2235 | да | Мгновенно перерисовать плитка карту положение | | | | | | Для грести D, полковник E или заполнить С | + + + + + + | Draw_back_tiles | 57 047 | 1pos<= 2294 | да | Мгновенно перекроить все плитки на карте | | | | 4POS<= 9254 | | положение за плиткой грести D | | | | | | Col E, или заполнить со значением C, если 255 | + + + + + +

* Selv регулярно избр использует “абстрактный” координаты т.е. Положение плитки позиция (рх, ру) пронумерованы от 0:02 8, внутренние процедуры Перечисленные выше использовать “с низким разрешением” координаты (строка, столбец) в варианте “L” и “Hi-Res” координаты (Лин, столбец) в варианте “Н”, сом кан показаться запутанным. В следующем разделе Гир ytterligare подробности об этой теме.

* Эти варианты, чтобы иметь немного различные ограничения angående положение плитки. В варианте «L ‘подпрограмма” draw_tile пос работать только для нечетных столбцов (1,3,5..17) и требовать всю плитку, чтобы поместиться на площади многоцветной (строк 1:02 17). В вариант “Н”, эта процедура ска работа для любой позиции Директ выше или ниже экран (строки 0:02 160) и для любого столбца из 0:02 18 (selvom к колонкам 0 и 18 плитка ска deltager полпути вне зоны многоцветной, в этом случае рекомендуется два tidligere краски колонки 0 и 19 с одной и той же INK / PAPER на беспокойство страницы в регулярном экране два скрыть это).

Это OGSA vigtigt процедуры использования DISSE Правильно, ИНАЧЕ независимо от вашего Программа “вручную” рисует на экране bliver потерял Nar Бифрост * ДВИГАТЕЛЯ “Автоматически” перекраивают ту же позицию, основанную на кафельном карте. Рекомендуемая подход к использованию подпрограмм Диссе эр således:

  • ‘Draw_tile “: Используйте его Nar дю Skal Мгновенно рисовать статические плитки на экране,   Например, два перемещать курсор многоцветного. В этом случае, установите svarende   Плитка карту позиция ценить 255-первых, таким образом, это никогда не будет вмешиваться. Эта процедура   кан OGSA нарисовать плитку на ровный ряд (между 2 обычного положения плитки карте), в   этот случай просто не забудьте установить беспокойство плитка карту положение два 255-первых.
  • ‘Show_tile_pos “: Используйте его Nar дю Skal Мгновенно рисовать анимированные плитки на   экраном, например, два сделать анимированный монстра deltager. В этом случае, установите   svarende плитка карту позиция пока анимированные плитки, просто назвать эту процедуру   два показывают følgende кадр на экране мгновенно. Følgende кадры bliver   анимированные automatisk После.
  • ‘Show_next_tile “: Используйте его, если вы хотите обновить всю площадь многоцветный   натощак. Бифрост * ДВИГАТЕЛЬ выполняет это automatisk 6 раз за кадр, в   20K T-заявляет есть достаточно времени, чтобы вызвать эту подпрограмму “вручную” еще 11   час в кадре. Таким образом, многоцветная область bliver полностью обновляются после   5 кадров, dermed почти в 3 раза быстрее, чем обычно.
  • ‘Fill_tile_attr “: Используйте это два hurtigt видел целую плитку в одном цвете (для   Экземпляр два покрасить в красный цвет на черном двух указанного общественного питания ATT йе вар “выбранной” как-то)   или два стереть его (например, покрасить в черный цвет на черный два сделать это “исчезают”).   В варианте “L”, эта процедура была оптимизирована по скорости размер stedet так это   было достаточно allerede твердое ин, если вам это нужно два работать даже посты, штат Канзас   просто скопировать его два еще одна область, в вашей программе с помощью “развернули” петлю на   чем, whichwill сделать его 210 Т-состояний посты.
  • ‘Draw_tile_pos “: Используйте его Nar дю Skal Мгновенно перерисовать на конкретную плитку карту   Положение, например, если вы просто flyttede (или fjernet) другой плитки tidligere   перед этой позиции. Эта процедура чем-то напоминает «show_tile_pos”   КРОМЕ, это не будет живой плитки (она будет просто перерисовать текущее плитка кадр)   и, если плитка на карте положение содержит 255, это будет “стереть” эту позицию по   Экран, заполнив грех атрибуты со значением, представленной в книге С. Это   процедура доступна только в варианте “Н”, и это занимает не более 2235 Т-состояний   выполнить.
  • ‘Draw_back_tiles “: Используйте его Nar дю Skal Мгновенно перекроить всю плитку карту   положение за какой-то плитки медс вы просто “вручную” flyttede (или fjernet) на   Экран. На практике эта процедура Кан выполнить “draw_tile_pos” не более 4 раз,   принимая до 9254 Т-государств, в худшем случае. Обратите внимание, ATT, если эта процедура является   призвал положение Att идеально сочетается стандартный положение плитки, это   рутинные ска выполнить “draw_tile_pos» только один раз, принимая в большинстве 2294 Т-государств.   Эта процедура доступна только в варианте “H” OGSA.
TILE КООРДИНАТЫ

Как уже упоминалось в предыдущем разделе, регулярно функциональности в Бифрост * двигатель

использует “абстрактный” положение (рх, ру) selvom усвоить процедуры использовать “с низким разрешением” Координаты (строка, столбец) в варианте “L” и “привет разрешения” координаты (лин, столбец) в вариант “Н”.

Følgende диаграммы иллюстрируют все три системы координат:

  Положение “Аннотация” (рх, ру) просто ссылаться плитки в последовательном порядке:

          0 1 2 3 4 5 6 7 8 ру

        + — + — + — + — + — + — + — + — + — +       0 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 |         + — + — + — + — + — + — + — + — + — +       1 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |         + — + — + — + — + — + — + — + — + — +       2 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |         + — + — + — + — + — + — + — + — + — +       3 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |         + — + — + — + — + — + — + — + — + — +       4 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |         + — + — + — + — + — + — + — + — + — +       5 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |         + — + — + — + — + — + — + — + — + — +       6 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |         + — + — + — + — + — + — + — + — + — +       7 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |         + — + — + — + — + — + — + — + — + — +       8 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |         + — + — + — + — + — + — + — + — + — +       ПВ

  “Низкое разрешение” положение плитки ссылаться на строки и столбцы enligt сина “PRINT TO” координаты на экране:

         01 03 05 07 09 11 13 15 17 кол

        + + + + + + + + + – +      01 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |         | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |         + + + + + + + + + – +      03 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |         | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |         + + + + + + + + + – +      05 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |         | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |         + + + + + + + + + – +      07 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 |         | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 |         + + + + + + + + + – +      09 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 |         | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 |         + + + + + + + + + – +      11 | 4 | 4 | 4 | 4 | 4 | 5 | 5 | 5 | 5 |         | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 |         + + + + + + + + + – +      13 | 5 | 5 | 5 | 5 | 5 | 5 | 6 | 6 | 6 |         | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 |         + + + + + + + + + – +      15 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 7 | 7 |         | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 |         + + + + + + + + + – +      17 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 8 |         | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |         + + + + + + + + + – +      строка

  “Привет разрешением” плитка количества пикселей линии как если начиная 8 пикселей выше экрана,

dermed Допуская 16×16 плитка две шаг как gradvist входа в зону многоцветный сверху и снизу выходе (или наоборот):

         01 03 05 07 09 11 13 15 17 кол

        + + + + + + + + + – +      16 | | | | | | | | | |         | 0 0 | 0 1 | 0 2 | 0 3 | 0 4 | 5 0 | 0 6 | 7 0 | 0 8 |         | | | | | | | | | |         + + + + + + + + + – +      32 | | | | | | | | | |         | 0 9 | 1 0 | 1 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 6 | 1 7 |         | | | | | | | | | |         + + + + + + + + + – +      48 | | | | | | | | | |         | 1 8 | 1 9 | 2 0 | 2 1 | 2 2 | 2 3 | 2 4 | 2 5 | 2 6 |         | | | | | | | | | |         + + + + + + + + + – +      64 | | | | | | | | | |         | 2 7 | 2 8 | 9 2 | 3 0 | 3 1 | 3 2 | 3 3 | 3 | 4 | 3 5 |         | | | | | | | | | |         + + + + + + + + + – +      80 | | | | | | | | | |         | 3 6 | 3 7 | 3 8 | 9 3 | 4 0 | 4 1 | 4 2 | 4 3 | 4 4 |         | | | | | | | | | |         + + + + + + + + + – +      96 | | | | | | | | | |         | 4 5 | 4 6 | 4 7 | 4 8 | 9 4 | 5 0 | 5 1 | 5 2 | 5 3 |         | | | | | | | | | |         + + + + + + + + + – +     112 | | | | | | | | | |         | 5 4 | 5 5 | 5 6 | 5 7 | 5 8 | 9 5 | 6 0 | 6 1 | 6 2 |         | | | | | | | | | |         + + + + + + + + + – +     128 | | | | | | | | | |         | 6 3 | 6 4 | 5 6 | 6 6 | 6 7 | 6 8 | 9 6 | 7 0 | 7 1 |         | | | | | | | | | |         + + + + + + + + + – +     144 | | | | | | | | | |         | 7 2 | 7 3 | 7 4 | 7 5 | 7 6 | 7 7 | 7 8 | 7 9 | 8 0 |         | | | | | | | | | |         + + + + + + + + + – +     лин

На практике вы не должны просто выбрать МЭСТ detaljeret Система координат Вас нужно, использовать его для всех переменных в вашей программе, просто конвертировать в меньшей detaljeret координирует Nar-либо nödvändigt. Типичная ситуация являются:

* Если вы не ‘нужно получить доступ к внутренние процедуры, просто использовать “абстрактный”

Положение (рх, ру) все время.

* Если вам нужно в использовании внутренних процедур от варианта “L”, использовать “с низким разрешением” плитку

Положение (строка, столбец) все время (в пересчете на “абстрактные” по мере необходимости).

* Если вам нужно в использовании внутренних процедур от версии “Н” использования “Hi-Res” плитки Положение (лин, столбец) все время (в пересчете на “абстрактные” по мере необходимости).

Преобразование плитка положение Меллан системы координат требуется всего лишь несколько

Операции ifølge følgende таблицы:

  Преобразование PX / строку / лин “округляется” до:

                   ОТ + + + +

      ВТОРОЙ | «абстрактный» ПВ | “низким разрешением” строка | “привет разрешения” лин |         + + + + – +         | “Аннотация” ПВ | == | строка >>1 | (лин >>4) -1 |         + + + + – +         | “Низким разрешением” строка | (ПВ<< 1) + 1 | == | (лин >>3) -1 |         + + + + – +                  

  

                   

                                                                     

  

                   

                                                                     

  

                   

                                                                     

    

    

    …

    

    

    

                   

    

    

    …

    

    

    

                   

В

  

  

  

  

Краткая информация о BIFROST* ENGINE

Сыграйте в BIFROST* ENGINE прямо сейчас! Эта утилита для визуализации, изданная в Бразилии в 2012 году командой Einar Saukas, которую написали Einar Saukas и Dave Hughes.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Subscribe
Уведомлять об
guest
0 комментариев
Inline Feedbacks
View all comments

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

  • x1
  • x2
  • x3

Кликни в окно эмулятора, чтобы управлять!
<<<<

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Поделиться
Close
0
Would love your thoughts, please comment.x