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

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

Логическая струкура игрового движка [Delphi, Windows]


K.o.Z ©   (2003-08-20 19:24:00) 

Хотет бы узнать вае мнение, а то я уже голову сломал, но так оптимального ничего не придумал.....
Расчитывайте на OpenGL


K .o.Z   (2003-08-27 20:02:00) [1]

пардон, не туда написал...


K .o.Z   (2003-08-27 20:01:00) [2]

а что же делать в OpenGL???


Всеволод Соловьёв   (2003-08-26 14:32:00) [3]

гммм... после каждой отрисовки заноси в счетчик (q) значение GetTickCount. А перед отрисовкой fps:=ChastotaProca/(GetTickCount - q).


K.o.Z   (2003-08-25 15:02:00) [4]

ну в принципе я так и делаю...
а как мне узнать кол-во fps?


cyborg   (2003-08-23 10:51:00) [5]


Program SuperPuperGame;
Uses ...
Var
...
Quit : Boolean = false;

Procedure ProcessKeys; //Нажатие клавишь
begin
end;
Procedure ProcessObject; //Обработка объектов
begin
end;
Procedure Render; //Вывод на экран
begin
end;

BEGIN
...
Repeat
ProcessKeys;
ProcessObject;
Render;
Sleep(Time); //Или другая функция
Until Quit;
...
END;


Ev_genus   (2003-08-23 01:53:00) [6]

2 K.o.Z
а можна я скажу?
>> как оранизовать этот цикл, тобишь где он должен происходить?
забиваеш на сообщения и просто в теле основной программы делаеш вечный цикл. И управления через директинпут.

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


K.o.Z   (2003-08-22 19:26:00) [7]

2 cyborg © (20.08.03 21:07) [1]
>> Три блока выполняются в цикле:
как оранизовать этот цикл, тобишь где он должен происходить?

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

пишу полность на Win API + OpenGL


cyborg   (2003-08-21 13:32:00) [8]

Зато их много :).


Ev_genus   (2003-08-21 00:10:00) [9]

>cyborg
крутой фпс :) ага, и половина кадров одинаковая.


cyborg   (2003-08-20 21:09:00) [10]

Третий пункт можно сделать отдельно, в другом потоке или таймере. Чтобы у тебя был "крутой" FPS.


cyborg   (2003-08-20 21:07:00) [11]

В смысле?
//Расчитывайте на OpenGL
Это ты предлагаешь? :)

Три блока выполняются в цикле:
1) Обработка нажатий клавишь.
2) Обработка объектов.
3) Рендерер.

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


Наверх

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