Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

как делать меню к игре   Найти похожие ветки 

 
kurt   (2006-10-03 23:31) [0]

как делать меню к игре


 
XProger ©   (2006-10-03 23:45) [1]

Кинь TMainMenu на форму


 
Cash ©   (2006-10-04 07:06) [2]

kurt, Какими знаниями располагаешь?
Знаешь, как работабт компоненты VCL?
Знаешь, как работает система сообщений ОСи?
Знаешь, как создавать контролы на API?


 
MeF Dei Corvi ©   (2006-10-04 11:14) [3]


> Знаешь, как работабт компоненты VCL?Знаешь, как работает
> система сообщений ОСи?Знаешь, как создавать контролы на
> API?

Главный вопрос? Какой язык программирования знаешь? ООП владеешь?


 
Pa5ha   (2006-10-04 11:53) [4]

Чорд -) Научите делать меню, очень нада.

Я вот тоже подумываю. Написал парсер команд, прикрутил к консоли. Прекольна получилось. Поиск по списку бинарным поиском. Работает шустро. Была идея сделать редактор-компилятор меню. В смысле хотел сделать меню, в котором при выборе любого пункта выполнялась бы заранее составленная последовательность консольных команд. Напр. "новая игра" -> LoadLevel;NewGame;So_on_-); Но тут возникла проблема. Планировалось открывать меню и подменю командой ShowMenu;, но если меню нах-ся в menu.pas, а парсер в parser.pas, то в menu.pas будет uses parser.pas, а в parser.pas будет uses menu.pas, что ессно не прокатит. Вопрос что делать и как дальше жить. Хочется таки сделать универссальное меню, чтоб при uses menu; в игру добавлялось меню, а не приходилось бы каждый раз гемороится и всю иерархию составлять и править вручную. Как вообще люди делают?


 
Fredy314 ©   (2006-10-04 14:59) [5]

Очень даже получится только Uses надо писать в секции Implementation и тогда Делфи позволяет взаимные Uses


 
Сергей М. ©   (2006-10-04 16:50) [6]


> Pa5ha   (04.10.06 11:53) [4]


> Как вообще люди делают?


Вообще люди читают книжки по элементарному Паскалю, прежде чем в "игроделы" записываться.


 
Ketmar ©   (2006-10-04 17:12) [7]

вообще -- стараются свести к минимуму взаимозависимости. чтобы не иметь потом граблей.


 
Cash ©   (2006-10-04 17:27) [8]

А еще, вааще -- люди ингда, изредка, это не всегда получается, делают
набор взаимоотторгаемых модулей. :)


 
Pa5ha   (2006-10-04 19:58) [9]

Так, ладно, понял -) Есть примеры красиво написанной консоли, чтоб посмотреть, как нормальные люди делают нормальные консоли? Как ненадо делать я знаю -)


 
Ketmar ©   (2006-10-04 19:59) [10]

пишп "как не надо". раз за разом. в конце концов, перебрав все "как не надо", получишь правильный. %-)


 
Pa5ha   (2006-10-04 23:27) [11]

Ketmar, мне кажется, нам надо быть более конструктивными -)


 
Ketmar ©   (2006-10-04 23:40) [12]

>[11] Pa5ha 4-Oct-2006, 23:27
>Ketmar, мне кажется, нам надо быть более
>конструктивными -)
тю. да если бы я точно знал, как надо -- я бы сейчас был не эльфом Кэтмаром, а мультимиллионером Кэтмаром. %-)


 
Fosgen   (2006-10-05 14:31) [13]

Я лично сделал модуль интерфейсов (хоть меню, хоть любой другой ГУИ)... В оном есть базовый класс виджетов (кнопки, окна, чекбоксы и т.п. одноэлементные виджеты) и некоторое кол-во "наследников" (скроллбоксы всякие и т.д.).
Для самих ГУИ заваял свой формат файла, парсер оного, и утилиту-редактор ГУИ. В утилите можно "нарисовать" сам интерфейс, определить для каждого элемента текстуру и назначить для каждого элемента действие по OnClick или OnChange. Потом парсер разгребает все это дело из файла, рисует ГУИ, по коду назначенного действия присваивает для виджета обработчик из массива, определяемого приложением.

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

Таким образом имеется один модуль, описывающий классы виджетов, самого ГУЯ, двигом ГУЯ, к нему обращается модуль с парсером, процедурами-обработчиками, массивом соответствий кода - обработчику.
Минус - для каждого нового приложения надо иметь модуль с парсером.
Плюс - имеется универсальный способ и формат создания интерфейсов и менюшек.


 
Cash ©   (2006-10-05 14:43) [14]

Fosgen   (05.10.06 14:31) [13]:
Я себе такую же штуку сделал, работает просто супер. :)


 
Ketmar ©   (2006-10-05 16:34) [15]

>[13] Fosgen 5-Oct-2006, 14:31
я в одной из первых версий эмуля Спекки делал похожею только у меня визуальный дизайнер умел помимо созранения во внутренний бинарный формат ещё и генерировать Delphi-исходник. потому всё проще -- промежуточные результаты храним во внутреннем формате, для финала -- генерим исходник и включаем в программу. %-)
все активные действия совершались путём задания свойства "command", которое было ничем иным, как списком консольных команд. консоль же помимо простых команд понимала ещё и мой вариант LISP"а, так что расширяемость -- дальше некуда. %-)


 
Ketmar ©   (2006-10-05 16:35) [16]

"внутренний формат" -- это нечто вроде дельфийских dfm (а зачем нам RTTI дан? отчего бы и не юзать? %-)


 
Pa5ha ©   (2006-10-05 17:13) [17]

Блин, дайте посмотреть в проекте в каком-нить, а то у меня с деревом модулей траблы.


 
Ketmar ©   (2006-10-05 17:53) [18]

>[17] Pa5ha(c) 5-Oct-2006, 17:13
>у меня с деревом модулей траблы.
объедини всё в один модуль. %-)


 
Pa5ha ©   (2006-10-05 21:23) [19]

не поверишь, этот вариант я отвергнул %)


 
Fosgen   (2006-10-05 22:31) [20]

2:
Pa5ha ©   (05.10.06 17:13) [17]

Поищи следующее - очень респект. Ян Хорн - Гуру и рулит!

Author       : Jan Horn
Email         : jhorn@global.co.za
Website     : http://www.sulaco.co.za
                 http://home.global.co.za/~jhorn


 
Ketmar ©   (2006-10-05 22:33) [21]

кстати, да: у Яна (тёмная ему память...) был отличный маленький модуль для GUI на OpenGL. очень маленький и вполне элегантный.


 
Fosgen   (2006-10-06 10:18) [22]

Почему это - "тёмная ему память..."?
Модуль очень хороший.
Только его переделывать надо - тормозненький... И практически без ООП. Не очень удобно в ряде случаев. Но как отдельный пример - класс.


 
Ketmar ©   (2006-10-06 12:43) [23]

>[22] Fosgen 6-Oct-2006, 10:18
>Почему это - "тёмная ему память..."?
потому что такое знать надо. несколько лет назад Ян разбился на мотоцикле. насмерть.


 
Fosgen   (2006-10-07 07:37) [24]

Да я не об этом - почему "темная?"


 
Pa5ha ©   (2006-10-07 22:32) [25]

Вариант с генератором меню понравилсо (генерация кода меню). Минус в том, что оно не расширяется, но часто оно и не надо -) Билдер написал. Теперича нада вид менюхам придать. Цветочки там, рюшечкии -)

Осталось теперь только узнать, как делать уровни и врагов -)))) и я буду геймдевелопером -)))



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

Форум: "Игры";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.04 c
2-1187551133
Oleg13
2007-08-19 23:18
2007.09.16
Как правильно вычитать разницу времени


1-1184003393
fd00ch
2007-07-09 21:49
2007.09.16
Эмуляция стандартного меню


2-1187634341
Евгений Р.
2007-08-20 22:25
2007.09.16
PopupMenu для tTreeView


3-1179323715
AlexeiBerkov
2007-05-16 17:55
2007.09.16
Соединение с сервером ( TADOConnection )


15-1187477610
wp2
2007-08-19 02:53
2007.09.16
Может и тупой вопрос, но все же.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский