Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Меню   Найти похожие ветки 

 
Crazy_kill ©   (2003-09-11 01:31) [0]

Народ подкиньте мыслей как сделать меню для игры (Как главное меню в играх  Сохранить,  Загрузить, Настройки и т.д. и т.п). Заранее спасибо.


 
cyborg ©   (2003-09-11 08:23) [1]


Var
 CurrentMenu : Integer = 1;

...

 case НажатаяКлавиша of
   КлавишаВверх : if CurrentMenu>1 then Dec(CurentMenu);
   КлавишаВниз  : if CurrentMenu<MaxNumMenu then Inc(CurrentMenu);
 end;

...

Var
 i : Integer;
...
 for i:=1 to MaxNumMenu do if i=CurrentMenu then РисуемАктивныйПунктМеню else РисуемНеактивныйПунктМеню;


 
NailMan ©   (2003-09-11 14:46) [2]

Ну это от тебя зависит. Какую архитектуру GUI придумаешь делать, такую и сделалешь. Главное здесь удобство использования и желание повозиться. Если хочешь получить хорошее впечатление пользователей твоей игры, надо делать красивый и удобный интерфейс(я на этом собаку уже съел).

Сразу скажу можно юзать кем-то написанные элементы меню(про стандартные GDI-шные сразу забудь), но они могут быть не вполне гармонировать с архитектурой игры, поэтому предпочтительно(и сложнее ессно) написать свои элементы.

Я уже тут кидал ссылку на демку моего интерфейса, вот она:
http://nailman.narod.ru/Zakroma/UT_GUI_Demo.exe

Это уже скомпиленный интерфейс, но его можно менять(с количеством элементов лучше не баловаться), тоесть изменять некоторые параметры элементов(координаты, названия и т.д.).

Собсно я не далеко отошел от Дельфи - конфигурация меню расположена в обычном CFG файле, так что все очень просто.

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

Каждое меню у меня выполнено отдельной процедурой, в которой по единому шаблону грузится нужная секция конфига, создаются в единых массивах элементы меню (label, button, checkbox, trackbar, panel, progressbar, listbox), а затем уже идет цикл меню, в котором рендерится само меню, опрашиваются устройства ввода и обрабатываются. На результат фенкции опроса/обработки быстрых событий(селектирование баттонов, строки листбокса, клик по баттону и д.р.) у меня выводится с некую переменную(с одновременным выводо всех стейтов меню) и далее я произвожу пост-обработку уже этих событий с case. Тут обрабатываются уже менюшные вещи(до этого обработка событий не конкретно меню, а класса GUI). Вобщем слегка запутанно на первый взгляд, но довольно четко в реализации.

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


 
Crazy_kill ©   (2003-09-15 00:31) [3]

Большое спасибо за советы!!!!!!!!!!


 
Andrey5   (2003-09-29 05:15) [4]

Ссылка не работает


 
NailMan ©   (2003-09-29 10:43) [5]

Ну ка, а так:
http://nailman.narod.ru/Zakroma/UT_GUI_DEMO.exe



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
8-1070942191
Zac
2003-12-09 06:56
2004.04.11
Проблема с MediaPlayer!!!


8-1076729858
Bonial
2004-02-14 06:37
2004.04.11
Как можно узнать регион экрана, который изменился?


14-1082123506
juiceman
2004-04-16 17:51
2004.04.11
Помогите найти Ketmara


3-1079513845
stud
2004-03-17 11:57
2004.04.11
генерация сообщений


6-1079460407
КомофОнСамый
2004-03-16 21:06
2004.04.11
Как вызвать окно с диалапом?