![]() |
Немного о главном меню - Версия для печати +- Город Джунов (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 Красавчик! Разбомбил таки.... ![]() Немного о главном меню - Archer - 01.08.2005 Хех. Молодец. Токо вот насчет обработчиков событий это кажись знают все, и что когда наводишь анимация и тд.. Это чем- то похоже на яваскрипт и на хтмл. ![]() |