Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объясните как делается меню. [Delphi, Windows]


Карлсон ©   (2002-08-03 18:51:00) 

Как сделать пункты игрового меню в DelphiX я разобрался.
Но вот меня поставил в тупик такой вопрос.
Неужели все нужно выполнять только на одном DXDraw ?
Лично у меня на форме два дхдро.
Один - меню, второй - игровая поверхность.
Пока пользователь находится в меню, игровой дхдро не инициализирован.
Когда пользователь жмет "Начать игру", первый дхдро финализируется и инициализируется второй.
Но вот сейчас начал делать меню опций, опять придется еще один дхдро впихивать?
Вообще, как более рационально сделать меню?


pasha676   (2002-09-19 10:59:00) [1]

Рисовать надо строго в одном драу. Если у тебя содержиться текстовая инфа и графика какая - то выкрутиться можно довольно просто. У меня прога примерно так отрисовку делает

UpDаte3D;// процедура изменения в трехмерных объектах
DxDraw.Render;//рендерим 3Д сцену
DrawDevice;//двухмерные объекты (спрайтики-рисуночки), надписи и т.д. Менюшки не пробывал, но можно наверное тудойже
DxDraw.Flip;// ну и собственно флипаем на экран.

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


Sarge_the_Great   (2002-09-18 18:24:00) [2]

Рисуй на одном, просто в DXTimer.Timer:
type
TMode = (mGame, mMenu, mOptions);
...

var
Mode: TMode;

if (Mode = mMenu) then
DrawMenu;

if (Mode = mGame) then
begin
DXSpriteEngine ...
...
end;

if (Mode = mOptions) then
...

DrawMenu и т.д. - процедуры отрисовки меню, опций


Гуру   (2002-08-31 11:14:00) [3]

C 2 DXdrow ты не сможешь работать в полноэкранном режиме


аы   (2002-08-30 21:05:00) [4]

ау


Гонза   (2002-08-04 11:57:00) [5]

Гммм... ну всё равно не могу понять, рисуешь всё время на один и никакого гемороя.
А на счёт размера - по логике не должно. Возьми создай 2 проектика и сравни размеры.


хм   (2002-08-04 02:25:00) [6]

может лучше юзать разные таймеры?


Карлсон   (2002-08-04 01:28:00) [7]

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


Гонза   (2002-08-04 01:13:00) [8]

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


Карлсон   (2002-08-03 23:05:00) [9]

да я и так все делаю на одной единственной форме.
просто рисую на разных дхдро.
игра у меня собссно на DXDraw2 а меню, в которое попадает игрок в самом начале на DWDraw1.


cyborg   (2002-08-03 20:12:00) [10]

Но вот сейчас начал делать меню опций, опять придется еще один дхдро впихивать?
Вообще, как более рационально сделать меню?


Забудь про практику множественных форм.
Делай всё в одном месте (кадре, фрейме, форме), рисуя всё в ручную.


Наверх

Титульная страница Поиск, карта сайта Написать письмо