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

Вниз

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

 
Colt1978   (2004-09-11 00:08) [0]

Используя GLScene можно ли создать игровое меню ? Простой текст разместить могу, а так вообще не понимаю с какого края подойти.


 
DeadMeat ©   (2004-09-11 00:13) [1]

Не понял...
У тебя с чем проблемы?
GUI там есть и скоро (как я понял) пополнится новыми контролами. Есть также редактор скинов...
В чем проблема?

---
...Death Is Only The Begining...


 
Colt1978   (2004-09-11 00:22) [2]

DeadMeat, видешь ли, там есть форма, панели и прочая муть, я кромя как с лейбелом работать ничего не понял... Мне интересен ещё сам факт как это делается ? Беру я обычную форму и кидаю всё туда или же форму GLScene, вот просто такой вот трабл - откуда начать даже незнаю... тут на форуме не встречал. Кстати меню интересует игровое, что-то типа кнопок красивых посреди экрана...


 
DeadMeat ©   (2004-09-11 00:27) [3]

Для всей этой мути, надо подготовить скины...
Рисуешь в фотожопе (или еще где) одну большую картинку, на которой размещаешь все элементы, которые тебе нужны. Потом из папки \GLScene\Demos\utilities\GuiEditor открываешь этот самый эдитор. В нем (после определенной практики) создаешь каждый компонент и ему присваиваешь координаты на твоей картинке. После всего этого, сохраняешь это дело в файл, а в своей проге, подобно \GLScene\Demos\interface\guidemo ставишь на форму... Точнее на GLSceneViewer, на котором должна быть GUI форма...
Вообщем разбери пример....
Если есть вопросы - спрашивай...

---
...Death Is Only The Begining...


 
Colt1978   (2004-09-11 00:51) [4]

DeadMeat, огромное спасобо, с эдитором с наскоку не разодрался. Подскажи а как скин расовать есть ли определённые правила. Обычно виду скины как набор кнопочек без видимой последовательности и т.д ты можешь подсказать ???


 
DeadMeat ©   (2004-09-11 01:07) [5]

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

---
...Death Is Only The Begining...


 
Colt1978   (2004-09-11 01:59) [6]

DeadMeat, спасибо огромное...
Попробую... тебя если что можно както найти, по аське к примеру ??? Или тут в форуме ?


 
DeadMeat ©   (2004-09-11 11:27) [7]

Глянь в анкету...

---
...Death Is Only The Begining...


 
Colt1978   (2004-09-11 13:38) [8]

DeadMeat ок....


 
Colt1978   (2004-09-13 07:18) [9]

Может у когоесть не нужный пример ?


 
имя   (2004-09-13 07:57) [10]

Удалено модератором


 
cyborg ©   (2004-09-13 08:36) [11]

Заводишь переменную CurrentMenu которая хранит номер текущего пункта меню, выводишь текст, если CurrentMenu равен текущему пункту выводишь выделенный пункт меню, подсветка там или просто другим шрифтом или фон под пунктом другой делаешь. Проверяешь нажатия клавиш, если нажаты вверх вниз, изменяешь переменную CurrentMenu. При нажатии на Enter смотришь значение CurrentMenu и запускаешь соответственную сцену игры.
Также с мышью, если нажата кнопка мышки, смотришь в какой пункт она попадает, если нажали на каком-то пункте меню, устанавливай значение CurrentMenu нажатому пункту и запускай процедуру перехода на другую соответствующую сцену.


 
Colt1978   (2004-09-13 10:22) [12]

Тоесть получается нужно для каждого пункта меню создавать новые сцены а те какбы отключать на время ?


 
cyborg ©   (2004-09-13 10:40) [13]


> [12] Colt1978   (13.09.04 10:22)

При нажатии на пункт:
1) освободить ресурсы текущей сцены (т.е. меню)
2) инициализаровать новую сцену, загрузка графики, создание объектов и пр.
3) передать управление обработчику новой сцены

При выходе из любой сцены сначала освобождаешь ресурсы текущей сцены, затем инициализируешь новую сцену (меню, игра, заставка, рекорды, о программе и пр.) и передаёшь управление обработчику новой сцены.


 
Colt1978   (2004-09-13 12:07) [14]

cyborg блин классно всё этона бумаге, а есть хоть какой либо маломальский исходник, можно на мыло... Тема эта вообще для меня мутная, поэтому предпочитаю разбираться в коде сам.


 
cyborg ©   (2004-09-13 13:45) [15]

Какой тебе ещё исходник? Нет у меня никаких исходников на глсцене.


 
Colt1978   (2004-09-13 14:15) [16]

cyborg? ты ас в теории ??? Откуда ты тогда можешь советовать ?


 
МЯУ   (2004-09-13 14:37) [17]

Colt1978   (13.09.04 14:15) [16]

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


 
Colt1978   (2004-09-13 15:37) [18]

Ничего против не имею его, подобные советы я сам могу давать, но от этого писать лучше не буду. Вот и всё, ни на кого я не собираюсь кричать и не кричал.
Извините если кого обидел....


 
NailMan ©   (2004-09-13 15:47) [19]

[13] cyborg ©
Подтверждаю

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

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

---
WBR, NailMan aka 2:5020/3337.13


 
cyborg ©   (2004-09-13 16:15) [20]


> [16] Colt1978   (13.09.04 14:15)

Ты бы вместо того, чтобы несколько дней спрашивать исходник меню, сам бы попробовал хоть пару строчек кода написать.

Создай приложение выводятся две строки "Игра" и "Выход", вот тебе меню будет.


Var
 CurrentMenu : Longint = 1;
 ExitProgram : Boolean = false;
 ProcessProgram : Procedure = nil;

Procedure ProcessMenu;
Var i : Longint;
begin

 Case нажатая_клавиша of
   Enter :  begin
                 Case CurrentMenu of
                   1 : ProcessProgram:=@ProcessGame;
                   2 : ExitProgram:=True;
                 end;
              end;
   Up :  begin if CurrentMenu>1 then Dec(CurrentMenu); end;
   Down :  begin if CurrentMenu<2 then Inc(CurrentMenu); end;
 end;

 for i:=1 to 2 do
 begin
   if i=CurrentMenu then Рисуем_пункт_меню_№i_выделенный else Рисуем_пункт_меню_№i_обычный;
 end;
end;

Procedure ProcessGame;
begin
 if Нажатая_клавиша=Escape then ProcessProgram:=@ProcessMenu;
end;

BEGIN
 ProcessProgram:=@ProcessMenu;
 Repeat
   if nil<>@ProcessProgram then ProcessProgram;
 until ExitProgram;
END.


 
Colt1978   (2004-09-14 19:36) [21]

Блин, конечно спасибо, но это совсем не то....
Меня интересует именно порядок создания игрового меню в GLScene, как наложить к примеру фоноввую картинку, какой компонент использовать для вывода меню, как подписать его лучше и всё такое... И как при нажатии на тот или иной пункт и вызвать к примеру тот или иной ролик.
Понимаешь к примеру я неплохо владею работой с БД, так там я представляю что за чем идёт, а тут же компонент GLForma визуально не видим и как от этого отталкиваться ???



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

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

Наверх




Память: 0.5 MB
Время: 0.041 c
14-1103711177
ocean
2004-12-22 13:26
2005.01.09
Как оценить интерфейс программы?


14-1103625352
Kolan
2004-12-21 13:35
2005.01.09
Среда как electronic worck bench


1-1103565717
SilverDragon
2004-12-20 21:01
2005.01.09
Работа с диномическими обьектами


4-1100755551
tyuiop
2004-11-18 08:25
2005.01.09
Вызов CreateProcess


6-1098088612
XAdmin
2004-10-18 12:36
2005.01.09
Использование IntraWeb для Internet приложений





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский