Во времена расцвета 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 Shell 2 Orter - оконный интерфейс
- blackstrip
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
- blackstrip
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: BlackStrip Shell 2 Orter - оконный интерфейс
Дефолтные новые курсоры 16х16 пикселей для BSS2 в сравнении со старыми курсорами 8х8 пикселей из досовской BlackStrip Shell:
- blackstrip
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: BlackStrip Shell 2 Orter - оконный интерфейс
Наработки BSS2 Orter
Окно, рисуемое в Orter, состоит из фрагментов. Каждый фрагмент привязан к одной из опорных точек: левая граница окна, гор.центр, правая граница - по горизонтали, и верхняя граница, верт.центр, нижняя граница по вертикали. Относительно выбранной точки можно выбрать сдвиг. Наполнение фрагмента текстурой указывается в виде файла картинки, файла альфа канала или rgb прозрачного цвета, и координат прямоугольной части на картинке, которая и будет использоваться для текстурирования фрагмента. Также указывается метод текстурирования - одиночная картинка, мозаика, растягивание.
Исходная картинка (скин) простого окошка (черные точки по краям - метки, чтоб понять где кончается один фрагмент и начинается другой):
Рисуемое окно в редакторе окон: тут четыре угла окна, четыре растягиваемые границы окна (мозаикой заливаемые) и одна заливаемая мозаикой середина:
FPS 2 кадра в секунду (надпись слева FPS: 1.8) на виртуальном пк на мобиле под андроидом) на нормальном пк все работает на заданные 30 фпс.
Каждый фрагмент окна может иметь сколько угодно кадров и собственный фпс (скорость анимации в кадрах в секунду). Можно, например, сделать медленно текущую по границам окна воду, быстро мигающие лампочки по углам, вращающиеся шестеренки со средней скоростью между лампочками и т.д. Каждый фрагмент окна не зависим от других фрагментов.
Окно, рисуемое в Orter, состоит из фрагментов. Каждый фрагмент привязан к одной из опорных точек: левая граница окна, гор.центр, правая граница - по горизонтали, и верхняя граница, верт.центр, нижняя граница по вертикали. Относительно выбранной точки можно выбрать сдвиг. Наполнение фрагмента текстурой указывается в виде файла картинки, файла альфа канала или rgb прозрачного цвета, и координат прямоугольной части на картинке, которая и будет использоваться для текстурирования фрагмента. Также указывается метод текстурирования - одиночная картинка, мозаика, растягивание.
Исходная картинка (скин) простого окошка (черные точки по краям - метки, чтоб понять где кончается один фрагмент и начинается другой):
Рисуемое окно в редакторе окон: тут четыре угла окна, четыре растягиваемые границы окна (мозаикой заливаемые) и одна заливаемая мозаикой середина:
FPS 2 кадра в секунду (надпись слева FPS: 1.8) на виртуальном пк на мобиле под андроидом) на нормальном пк все работает на заданные 30 фпс.
Каждый фрагмент окна может иметь сколько угодно кадров и собственный фпс (скорость анимации в кадрах в секунду). Можно, например, сделать медленно текущую по границам окна воду, быстро мигающие лампочки по углам, вращающиеся шестеренки со средней скоростью между лампочками и т.д. Каждый фрагмент окна не зависим от других фрагментов.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя