BlackStrip Shell 2 Orter - оконный интерфейс

Ответить
Аватара пользователя
blackstrip
Админ
Сообщения: 1177
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

BlackStrip Shell 2 Orter - оконный интерфейс

Сообщение blackstrip » Пт май 07, 2021 4:41 am

Во времена расцвета windows 98/2k/XP писались мной разнообразные оконные интерфейсы для DOS:

Интерфейс в тестере BrainTest (qbasic)

Изображение

Windows Emulation System (tmt pascal)

Изображение

Изображение

Изображение

Изображение

На основе этих интерфейсов разрабатывались проги под дос с оконным интерфейсом.

Последняя подобная система (опять под ДОС) разрабатывалась буквально год назад - оболочка для DOS для быстрого запуска прог и просмотра файлов. Внутри нее настоящая система обработки сообщений от мыши и клавиатуры, событийное управление работой каждого из компонентов на окне, динамически размещаемые компоненты на окнах в рантайме и т.д.:

BlackStrip Shell (qbasic)

Изображение

И сейчас, когда уже давно хотелось разрабатывать игры, имея на руках инструментарий из графического редактора и разнообразных утилит к нему, звукового редактора, редактора анимаций и т.д. - встал вопрос "Как сделать интерфейс для игры ?".

Вот те самые "окошки", которые обычно сделаны в любых играх типа Sims или Heroes и т.д., должны работать подобно оболочке BlackStrip Shell, там должны быть списки для выбора пунктов, должны быть кнопки, флажки, поля ввода и т.д. Пусть и с оформлением более фентезийным и красивым нежели Windows 9x.

Поэтому чтобы сварганить любую игру с серьезным интерфейсом - придется для начала написать под Windows подобный оконный интерфейс, как обычно 32-битный и работающий в любой виндоус от 95 до 10.

Здесь будут описаны этапы разработки этого интерфейса под названием BlackStrip Shell 2 Orter (а это "Retro" наоборот). Интерфейс будет использован, как минимум, в MMORPG Basis.

Поехали (пока Delphi 7, потом перенос в андроид как API наработается).

Изображение

Аватара пользователя
blackstrip
Админ
Сообщения: 1177
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: BlackStrip Shell 2 Orter - оконный интерфейс

Сообщение blackstrip » Вс май 09, 2021 5:32 am

Дефолтные новые курсоры 16х16 пикселей для BSS2 в сравнении со старыми курсорами 8х8 пикселей из досовской BlackStrip Shell:

Изображение

Аватара пользователя
blackstrip
Админ
Сообщения: 1177
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: BlackStrip Shell 2 Orter - оконный интерфейс

Сообщение blackstrip » Сб авг 21, 2021 2:03 pm

Наработки BSS2 Orter

Окно, рисуемое в Orter, состоит из фрагментов. Каждый фрагмент привязан к одной из опорных точек: левая граница окна, гор.центр, правая граница - по горизонтали, и верхняя граница, верт.центр, нижняя граница по вертикали. Относительно выбранной точки можно выбрать сдвиг. Наполнение фрагмента текстурой указывается в виде файла картинки, файла альфа канала или rgb прозрачного цвета, и координат прямоугольной части на картинке, которая и будет использоваться для текстурирования фрагмента. Также указывается метод текстурирования - одиночная картинка, мозаика, растягивание.

Исходная картинка (скин) простого окошка (черные точки по краям - метки, чтоб понять где кончается один фрагмент и начинается другой):

Изображение

Рисуемое окно в редакторе окон: тут четыре угла окна, четыре растягиваемые границы окна (мозаикой заливаемые) и одна заливаемая мозаикой середина:

Изображение

FPS 2 кадра в секунду (надпись слева FPS: 1.8) на виртуальном пк на мобиле под андроидом) на нормальном пк все работает на заданные 30 фпс.

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

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 30 гостей