{{notification.text}}

MirGames

Kerghan
18.03.07 03:23
0
Мне требуется что бы игра остановилась и на том же DXDraw появился спрайт-меню со своей процедурой(пересчеты,вывод других спрайтов и т.д.). Но игра полностью заморозилась .
Или вы можете предложить другой вариант ? Цель - меню в игре.
#1
Один из первых
19.03.07 20:10
0
Может таймер остановить? А меню повесить на другой таймер?
Или классический вариант (псевдокод) -

Код
case GameState of
Game: begin..... end;
Menu: begin..... end;
end;
Отредактировано: 19.03.07 20:14
#2
20.03.07 20:35
0
Цитата(Kerghan @ 17.03.2007 - 23:23) [snapback]52346[/snapback]

... Но игра полностью заморозилась .
Или вы можете предложить другой вариант?

ну ты бы сказал для начала как именно делал ;)

вариант Daddy самый подходящий кстати.
#3
Kerghan
23.03.07 03:59
0
Цитата(Daddy @ 19.03.2007 - 16:10)
[snapback]52481[/snapback]
Может таймер остановить? А меню повесить на другой таймер?

И какой же таймер остановить ? DXTimerTimer ? А рисовать чем я буду ?
Цитата(Daddy @ 19.03.2007 - 16:10)
[snapback]52481[/snapback]
case GameState of
Game: begin..... end;
Menu: begin..... end;
end;

А это куда пихнуть ? В DXTimerTimer ? хм...попробую
#4
Студент
24.03.07 00:26
0
Читай Андре Ламот - Программирование трёзмерныз игр для Windows, там в первой главе псевдокод твоей проблемы на несколько страниц с комментариями. А вообще, а вообще, что касается состояний игры, то, вот самые необходимые (на мой взгляд):
1. INIT_APPLICATION
2. DEINIT_APPLICATION
3. CHANGE_TO_MENU
4. CHANGE_TO_LEVEL
5. DRAW_MENU
6. DRAW_LEVEL
#5
Kerghan
24.03.07 03:55
0
Спасибо =) Обязательно прочитаю, и поищу книгу в google'е , но мне хотелось бы игру сделать уже. А так , да , у меня есть "циклы " в игре , на них она и строиться .Такие как "игра, конец игры, создание игры" и т.д.
#6
Axyz Dile
07.08.07 21:51
0
Как вариант, установить унутрений таймер игры в 0 (обсчет физики/процесса) :) если он есть конечно. Или игнорировать установку таймера
frametimer:=time-lasttime;
if pause then frametimer:=0;
хоят я новичок :)
#7
08.08.08 20:41
0
Я обычно делаю так:
В таймере.
begin
if SCENE = 1 then begin// Где SCENE:Integer;
if PAUSE <> TRUE then begin// Где PAUSE:Boolean.
PlayerMove;// Если пауза не нажата, то че-то делаем.
Exit;// Меню не рисуем.
end;
DrawMenu;// Если пауза нажата, то рисуем меню.
end;
end;

Это наверное глепо выглядит, но работает отлично и без збоев... :D
#8
09.08.08 00:11
0
Еще нелепей выглядит нектропостинг О_о
#9
07.10.08 09:29
0
Делаешь 2 таймера, 1 игровой, 2 рендеринг, и стопаеш игровой.
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}