Город Джунов
Немного о главном меню - Версия для печати

+- Город Джунов (https://www.gipat.ru/forum)
+-- Форум Аддон для Проклятых Земель (https://www.gipat.ru/forum/forum-20.html)
+--- Форум Программирование (https://www.gipat.ru/forum/forum-6.html)
+--- Темы: Немного о главном меню (/thread-2243.html)



Немного о главном меню - PZIGOR - 06.10.2004

Каждый кто распаковывал menus.res видел файл menus.reg дак вот сегодня разберёмся за что он отвечает.
.text:005ACEAC push offset aMenus_reg ; какой файл читать menus.reg
.text:005ACEB1 mov ecx, esi
.text:005ACEB3 mov [esp+4Ch+lprc], ebp
.text:005ACEB7 call dword ptr [eax+4Ch] ; читаем файл
.text:005ACEBA cmp eax, ebp
.text:005ACEBC jnz short loc_5ACEC5 ; если всё нормально то грузим дальше иначе
.text:005ACEBE push offset aCanTOpenFileMe ; не смогли прочитать выдаём ошибку
... в принципе не важно
.text:005ACED1 jnz short loc_5ACEFA ;если всё в порядке то переходим иначе
.text:005ACED3 push offset aCanTOpenMenus_ ; не смогли правильно открыть файл
... в принципе не важно
.text:005ACF20 push offset aNewgame ;выбираем в файле строку [NewGame]
.text:005ACF25 push offset aMainmenu ;выбираем раздел [MainMenu]
... в принципе не важно
.text:005ACF8F push edx ; yBottom высота кнопки
... в принципе не важно
.text:005ACF95 push ecx ; xRight длинна кнопки
.text:005ACF96 push edx ; yTop расстояние сверху до кнопки
.text:005ACF97 push eax ; xLeft расстояние до кнопки слева
.text:005ACF98 push esi ; lprc
.text:005ACF99 call edi ; SetRect ; добавляем прямоугольник (кнопка)
У mainMenu 6 кнопок и для каждого своя область, а для EscMenu 5 кнопок для которых тоже отдельные обработчики кнопок.
Координаты берутся в таком порядке из файла
[MainMenu]
NewGame=367 (Left)
NewGame=200 (Bottom)
NewGame=507 (Right)
NewGame=216 (Top)
аналогично и для других
LoadGame=364 (Left)
LoadGame=225 (Bottom)
LoadGame=484 (Right)
LoadGame=260 (Top)
А теперь для чего это всё нужно: Эта виртуальная кнопка, область и т.д как бы её не назвали служит для обработки событий от мыши если навести курсор на эту область то сработает анимация кнопки которой принадлежит область и сработает звук buttonsmenustone.wav, а при шелчке мышю вызовется определённая функция связанная с меню например начало игры или настройки и т.д.


Немного о главном меню - CTpaHHuK - 06.10.2004

я тебя зауважал


Немного о главном меню - Akira - 01.08.2005

Красавчик! Разбомбил таки.... Smile


Немного о главном меню - Archer - 01.08.2005

Хех. Молодец. Токо вот насчет обработчиков событий это кажись знают все, и что когда наводишь анимация и тд.. Это чем- то похоже на яваскрипт и на хтмл. Smile